diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-03-09 06:01:43 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 10:23:27 -0400 |
commit | f1c35e6aea579d5bdb6dc02dfa99c67c7c3b3f67 (patch) | |
tree | 29fcd494910b005edfe37771cf5f6b13142bab62 /drivers/scsi/mpt2sas/mpt2sas_base.h | |
parent | 36dd288f0f930c154ec6a4d73a6a35f3079418c6 (diff) |
[SCSI] mpt2sas: RESCAN Barrier work is added in case of HBA reset.
Add the cancel_pending_work flag from the fw_event_work structure, and then to
set the flag during host reset, check the flag later from work threads
context and if cancel_pending_work_flag is set ingore those events.
Now Rescan after host reset is changed.
Added special task MPT2SAS_RESCAN_AFTER_HOST_RESET. This task will be queued
at the time of HBA reset. this task is treated as barrier. All work after
MPT2SAS_RESCAN_AFTER_HOST_RESET will be treated as new work and will be
server by callback handle. If host_recovery is going on while running RESCAN
task, it will wait for shos_recovery_done completion which will be called
from HBA reset DONE context.
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_base.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_base.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.h b/drivers/scsi/mpt2sas/mpt2sas_base.h index e18b0544c38f..a5ec09f7c90a 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_base.h +++ b/drivers/scsi/mpt2sas/mpt2sas_base.h | |||
@@ -119,7 +119,6 @@ | |||
119 | #define MPT2_IOC_PRE_RESET 1 /* prior to host reset */ | 119 | #define MPT2_IOC_PRE_RESET 1 /* prior to host reset */ |
120 | #define MPT2_IOC_AFTER_RESET 2 /* just after host reset */ | 120 | #define MPT2_IOC_AFTER_RESET 2 /* just after host reset */ |
121 | #define MPT2_IOC_DONE_RESET 3 /* links re-initialized */ | 121 | #define MPT2_IOC_DONE_RESET 3 /* links re-initialized */ |
122 | #define MPT2_IOC_RUNNING 4 /* shost running */ | ||
123 | 122 | ||
124 | /* | 123 | /* |
125 | * logging format | 124 | * logging format |
@@ -603,7 +602,6 @@ struct MPT2SAS_ADAPTER { | |||
603 | /* fw event handler */ | 602 | /* fw event handler */ |
604 | char firmware_event_name[20]; | 603 | char firmware_event_name[20]; |
605 | struct workqueue_struct *firmware_event_thread; | 604 | struct workqueue_struct *firmware_event_thread; |
606 | u8 fw_events_off; | ||
607 | spinlock_t fw_event_lock; | 605 | spinlock_t fw_event_lock; |
608 | struct list_head fw_event_list; | 606 | struct list_head fw_event_list; |
609 | 607 | ||
@@ -611,6 +609,7 @@ struct MPT2SAS_ADAPTER { | |||
611 | int aen_event_read_flag; | 609 | int aen_event_read_flag; |
612 | u8 broadcast_aen_busy; | 610 | u8 broadcast_aen_busy; |
613 | u8 shost_recovery; | 611 | u8 shost_recovery; |
612 | struct completion shost_recovery_done; | ||
614 | spinlock_t ioc_reset_in_progress_lock; | 613 | spinlock_t ioc_reset_in_progress_lock; |
615 | u8 ioc_link_reset_in_progress; | 614 | u8 ioc_link_reset_in_progress; |
616 | u8 ignore_loginfos; | 615 | u8 ignore_loginfos; |