diff options
author | Michael Reed <mdr@sgi.com> | 2006-07-31 13:19:50 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-08-06 16:48:31 -0400 |
commit | 3a0c56d801df6785b30e36c19e89d7e971c151da (patch) | |
tree | 03f311351e7ee56f5315f61e23e5ca3bddbe76b2 /drivers/message/fusion/mptbase.h | |
parent | 77d88ee275aeba5da447987f30401bbd4c901ca9 (diff) |
[SCSI] mptfc: correct out of order event processing
This patch corrects a problem in mptfc which can result in targets
being removed after executing an "lsiutil 99" reset of the fibre
channel ports.
The last rescan event was being processed before the setup reset work
due to an inappropriate optimization in the event processing logic.
Every rescan event is now queued for execution and the setup reset
work now executes in the proper sequence.
Signed-off-by: Michael Reed <mdr@sgi.com>
Acked-by: Moore, Eric <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r-- | drivers/message/fusion/mptbase.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index d4cb144ab402..c537d71c18e4 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h | |||
@@ -640,7 +640,6 @@ typedef struct _MPT_ADAPTER | |||
640 | struct work_struct fc_setup_reset_work; | 640 | struct work_struct fc_setup_reset_work; |
641 | struct list_head fc_rports; | 641 | struct list_head fc_rports; |
642 | spinlock_t fc_rescan_work_lock; | 642 | spinlock_t fc_rescan_work_lock; |
643 | int fc_rescan_work_count; | ||
644 | struct work_struct fc_rescan_work; | 643 | struct work_struct fc_rescan_work; |
645 | char fc_rescan_work_q_name[KOBJ_NAME_LEN]; | 644 | char fc_rescan_work_q_name[KOBJ_NAME_LEN]; |
646 | struct workqueue_struct *fc_rescan_work_q; | 645 | struct workqueue_struct *fc_rescan_work_q; |