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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html