On Fri, 2016-12-23 at 20:23 -0800, Himanshu Madhani wrote:
> +void qlt_unknown_atio_work_fn(struct delayed_work *work)
> +{
> + struct scsi_qla_host *vha = container_of(work, struct scsi_qla_host,
> + unknown_atio_work);
> + qlt_try_to_dequeue_unknown_atios(vha, 0);
> + return;
> +}
> +
> [ ... ]
> + INIT_DELAYED_WORK(&base_vha->unknown_atio_work,
> + (void (*)(struct work_struct *))qlt_unknown_atio_work_fn);
Hello Himanshu and Quinn,
Please follow the approach for delayed work that is followed elsewhere in
the kernel, namely:
* Use struct work_struct * for the argument type of delayed work functions.
* Do not use a function pointer cast in the INIT_DELAYED_WORK() macro.
This change will require to modify the container_of() expression. Here are
two examples from other kernel drivers:
hctx = container_of(work, struct blk_mq_hw_ctx, delay_work.work);
struct srp_rport *rport = container_of(to_delayed_work(work),
struct srp_rport, reconnect_work);
Thanks,
Bart.--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html