summaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptsas.c
diff options
context:
space:
mode:
authorkashyap.desai@lsi.com <kashyap.desai@lsi.com>2011-08-04 16:42:15 +0530
committerJames Bottomley <JBottomley@Parallels.com>2011-08-27 08:35:16 -0600
commite62cca19a9bbfc72c62632d95a7c01cd6476708c (patch)
treead6f84c9423b950772669fc15de938e2be484387 /drivers/message/fusion/mptsas.c
parent3850b14e51d32fc0d4297ceb30f3f7bb2c2b4779 (diff)
downloadlinux-stable-e62cca19a9bbfc72c62632d95a7c01cd6476708c.tar.gz
linux-stable-e62cca19a9bbfc72c62632d95a7c01cd6476708c.tar.bz2
linux-stable-e62cca19a9bbfc72c62632d95a7c01cd6476708c.zip
[SCSI] mptfusion: Better handling of DEAD IOC PCI-E Link down error condition
Find Non-Operation IOC and remove it from OS: Detecting dead(non-functional) ioc will be done reading doorbell register value from fault reset thread, which has been called from work thread context after each specific interval. If doorbell value is 0xFFFFFFFF, it will be considered as IOC is non-operational and marked as dead ioc. Once Dead IOC has been detected, it will be removed at pci layer using "pci_remove_bus_device" API. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/message/fusion/mptsas.c')
-rw-r--r--drivers/message/fusion/mptsas.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
index 73229ff9cafa..d21924ba4b1a 100644
--- a/drivers/message/fusion/mptsas.c
+++ b/drivers/message/fusion/mptsas.c
@@ -5147,6 +5147,8 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id)
ioc->TaskCtx = mptsasTaskCtx;
ioc->InternalCtx = mptsasInternalCtx;
ioc->schedule_target_reset = &mptsas_schedule_target_reset;
+ ioc->schedule_dead_ioc_flush_running_cmds =
+ &mptscsih_flush_running_cmds;
/* Added sanity check on readiness of the MPT adapter.
*/
if (ioc->last_state != MPI_IOC_STATE_OPERATIONAL) {