Re: [PATCH 11/11] qla2xxx: Improve RSCN handling in driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux