mpt3sas: delay scsi_add_host call to work with scsi-mq
authorReddy, Sreekanth <Sreekanth.Reddy@avagotech.com>
Mon, 14 Jul 2014 06:31:35 +0000 (12:01 +0530)
committerChristoph Hellwig <hch@lst.de>
Fri, 25 Jul 2014 21:17:04 +0000 (17:17 -0400)
commit4dc06fd84645c323a1f20482b9b571cab6dc7d93
tree97bd392143a71032120e3dd4e60d046343a323d4
parent02b7708134037f85656d15992912226134b10250
mpt3sas: 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/mpt3sas/mpt3sas_base.c
drivers/scsi/mpt3sas/mpt3sas_scsih.c