diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-06-17 05:10:56 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-27 13:02:34 -0400 |
commit | b68bf096d4211bb6490955f86842d8291e8ae218 (patch) | |
tree | c512c93f8effded33b4318e3d7e25217a86897a5 /drivers/message/fusion/mptbase.h | |
parent | 51106ab5306b752cd53d40626f78774276bb1368 (diff) |
[SCSI] mptfusion: schedule_target_reset from all Reset context
Issue:
target reset will be queued to driver's internal queue to get schedule
later. When driver add target into internal target_reset queue we will block IOs
on those target using scsi midlayer API. Now due to some cause driver is not
executing those target_reset list and it is always in block state.
Changes:
now we are clearing target_reset queue from all other Callback context
instead of only DeviceReset context.Now wherever driver is clearing
taskmgmt_in_progress flag it is considering target_reset queue cleanup
also.
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r-- | drivers/message/fusion/mptbase.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 453bcb7d6b5e..a2a620c3e073 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h | |||
@@ -580,6 +580,7 @@ struct mptfc_rport_info | |||
580 | typedef void (*MPT_ADD_SGE)(void *pAddr, u32 flagslength, dma_addr_t dma_addr); | 580 | typedef void (*MPT_ADD_SGE)(void *pAddr, u32 flagslength, dma_addr_t dma_addr); |
581 | typedef void (*MPT_ADD_CHAIN)(void *pAddr, u8 next, u16 length, | 581 | typedef void (*MPT_ADD_CHAIN)(void *pAddr, u8 next, u16 length, |
582 | dma_addr_t dma_addr); | 582 | dma_addr_t dma_addr); |
583 | typedef void (*MPT_SCHEDULE_TARGET_RESET)(void *ioc); | ||
583 | 584 | ||
584 | /* | 585 | /* |
585 | * Adapter Structure - pci_dev specific. Maximum: MPT_MAX_ADAPTERS | 586 | * Adapter Structure - pci_dev specific. Maximum: MPT_MAX_ADAPTERS |
@@ -738,6 +739,7 @@ typedef struct _MPT_ADAPTER | |||
738 | int taskmgmt_in_progress; | 739 | int taskmgmt_in_progress; |
739 | u8 taskmgmt_quiesce_io; | 740 | u8 taskmgmt_quiesce_io; |
740 | u8 ioc_reset_in_progress; | 741 | u8 ioc_reset_in_progress; |
742 | MPT_SCHEDULE_TARGET_RESET schedule_target_reset; | ||
741 | struct work_struct sas_persist_task; | 743 | struct work_struct sas_persist_task; |
742 | 744 | ||
743 | struct work_struct fc_setup_reset_work; | 745 | struct work_struct fc_setup_reset_work; |