mpt2sas: delay scsi_add_host call to work with scsi-mq
authorReddy, Sreekanth <Sreekanth.Reddy@avagotech.com>
Mon, 14 Jul 2014 06:30:49 +0000 (12:00 +0530)
committerChristoph Hellwig <hch@lst.de>
Fri, 25 Jul 2014 21:17:03 +0000 (17:17 -0400)
commit02b7708134037f85656d15992912226134b10250
treed691ca369a5913e04b620c59e921fbefc521ae22
parent3533f8603d28b77c62d75ec899449a99bc6b77a1
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>
drivers/scsi/mpt2sas/mpt2sas_base.c
drivers/scsi/mpt2sas/mpt2sas_scsih.c