mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 18:24:14 +08:00
mpt3sas - remove unused fw_event_work elements
Firmware events are queued up using the fw_event_work's struct work, not
its delayed_work member. The initial driver for SAS2 controllers had
handled firmware reset using the rescan barrier and was later redesigned
through "mpt2sas: [Resend] Host Reset code cleanup". The delayed_work
variables are now unused and may provoke CONFIG_DEBUG_OBJECTS_TIMERS
"assert_init not available" false warnings in
_scsih_fw_event_cleanup_queue.
Cleanup fw_event_work's unused entries, update its kerneldoc, and
update _scsih_fw_event_cleanup_queue accordingly.
Fixes: 146b16c807
(mpt3sas: Refcount fw_events and fix unsafe list usage)
Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
Acked-by: Chaitra P B <chaitra.basappa@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
b2bdaf2bde
commit
b8ac0cc78b
@ -174,13 +174,13 @@ struct sense_info {
|
|||||||
* struct fw_event_work - firmware event struct
|
* struct fw_event_work - firmware event struct
|
||||||
* @list: link list framework
|
* @list: link list framework
|
||||||
* @work: work object (ioc->fault_reset_work_q)
|
* @work: work object (ioc->fault_reset_work_q)
|
||||||
* @cancel_pending_work: flag set during reset handling
|
|
||||||
* @ioc: per adapter object
|
* @ioc: per adapter object
|
||||||
* @device_handle: device handle
|
* @device_handle: device handle
|
||||||
* @VF_ID: virtual function id
|
* @VF_ID: virtual function id
|
||||||
* @VP_ID: virtual port id
|
* @VP_ID: virtual port id
|
||||||
* @ignore: flag meaning this event has been marked to ignore
|
* @ignore: flag meaning this event has been marked to ignore
|
||||||
* @event: firmware event MPI2_EVENT_XXX defined in mpt2_ioc.h
|
* @event: firmware event MPI2_EVENT_XXX defined in mpi2_ioc.h
|
||||||
|
* @refcount: kref for this event
|
||||||
* @event_data: reply event data payload follows
|
* @event_data: reply event data payload follows
|
||||||
*
|
*
|
||||||
* This object stored on ioc->fw_event_list.
|
* This object stored on ioc->fw_event_list.
|
||||||
@ -188,8 +188,6 @@ struct sense_info {
|
|||||||
struct fw_event_work {
|
struct fw_event_work {
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
struct work_struct work;
|
struct work_struct work;
|
||||||
u8 cancel_pending_work;
|
|
||||||
struct delayed_work delayed_work;
|
|
||||||
|
|
||||||
struct MPT3SAS_ADAPTER *ioc;
|
struct MPT3SAS_ADAPTER *ioc;
|
||||||
u16 device_handle;
|
u16 device_handle;
|
||||||
@ -2804,12 +2802,12 @@ _scsih_fw_event_cleanup_queue(struct MPT3SAS_ADAPTER *ioc)
|
|||||||
/*
|
/*
|
||||||
* Wait on the fw_event to complete. If this returns 1, then
|
* Wait on the fw_event to complete. If this returns 1, then
|
||||||
* the event was never executed, and we need a put for the
|
* the event was never executed, and we need a put for the
|
||||||
* reference the delayed_work had on the fw_event.
|
* reference the work had on the fw_event.
|
||||||
*
|
*
|
||||||
* If it did execute, we wait for it to finish, and the put will
|
* If it did execute, we wait for it to finish, and the put will
|
||||||
* happen from _firmware_event_work()
|
* happen from _firmware_event_work()
|
||||||
*/
|
*/
|
||||||
if (cancel_delayed_work_sync(&fw_event->delayed_work))
|
if (cancel_work_sync(&fw_event->work))
|
||||||
fw_event_work_put(fw_event);
|
fw_event_work_put(fw_event);
|
||||||
|
|
||||||
fw_event_work_put(fw_event);
|
fw_event_work_put(fw_event);
|
||||||
|
Loading…
Reference in New Issue
Block a user