diff options
author | kashyap.desai@lsi.com <kashyap.desai@lsi.com> | 2011-08-04 16:42:15 +0530 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-08-27 08:35:16 -0600 |
commit | e62cca19a9bbfc72c62632d95a7c01cd6476708c (patch) | |
tree | ad6f84c9423b950772669fc15de938e2be484387 /drivers/message/fusion/mptsas.c | |
parent | 3850b14e51d32fc0d4297ceb30f3f7bb2c2b4779 (diff) | |
download | linux-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.c | 2 |
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) { |