diff options
author | Reddy, Sreekanth <Sreekanth.Reddy@avagotech.com> | 2014-07-14 12:00:49 +0530 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-07-25 17:17:03 -0400 |
commit | 02b7708134037f85656d15992912226134b10250 (patch) | |
tree | d691ca369a5913e04b620c59e921fbefc521ae22 /drivers/scsi/mpt2sas/mpt2sas_base.c | |
parent | 3533f8603d28b77c62d75ec899449a99bc6b77a1 (diff) | |
download | linux-02b7708134037f85656d15992912226134b10250.tar.gz linux-02b7708134037f85656d15992912226134b10250.tar.bz2 linux-02b7708134037f85656d15992912226134b10250.zip |
mpt2sas: delay scsi_add_host call to work with scsi-mq
In _scsih_probe, delay the call to scsi_add_host until the host has been
fully set up.
Otherwise, the default .can_queue value of 1 causes scsi-mq to set the block
layer request queue size to its minimum size, resulting in awful performance.
In _scsih_probe error handling, call mpt3sas_base_detach rather than
scsi_remove_host to properly clean up in reverse order.
In _scsih_remove, call scsi_remove_host earlier to clean up in reverse order.
Signed-off-by: Robert Elliott <elliott@hp.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nagalakshmi Nandigama <Nagalakshmi.Nandigama@avagotech.com>
Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_base.c')
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_base.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c index 92a1f19437a5..2f262be890c5 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_base.c +++ b/drivers/scsi/mpt2sas/mpt2sas_base.c @@ -277,7 +277,7 @@ mpt2sas_base_stop_watchdog(struct MPT2SAS_ADAPTER *ioc) ioc->fault_reset_work_q = NULL; spin_unlock_irqrestore(&ioc->ioc_reset_in_progress_lock, flags); if (wq) { - if (!cancel_delayed_work(&ioc->fault_reset_work)) + if (!cancel_delayed_work_sync(&ioc->fault_reset_work)) flush_workqueue(wq); destroy_workqueue(wq); } |