aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas/mpt2sas_base.h
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2010-03-09 06:01:43 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-04-11 10:23:27 -0400
commitf1c35e6aea579d5bdb6dc02dfa99c67c7c3b3f67 (patch)
tree29fcd494910b005edfe37771cf5f6b13142bab62 /drivers/scsi/mpt2sas/mpt2sas_base.h
parent36dd288f0f930c154ec6a4d73a6a35f3079418c6 (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.h3
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;