mpt2sas: Correct resizing calculation for max_queue_depth
commit084b3706631ae3776e9b6805622b57d783a3ae3b
authorKashyap, Desai <kashyap.desai@lsi.com>
Tue, 4 Jan 2011 06:04:57 +0000 (4 11:34 +0530)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 23:36:55 +0000 (17 15:36 -0800)
treed0664eaf6b5c6f9c26b25b415558a618e6cb52a1
parenta0d877da29837d8b0852ae0a236529d4e734ab1e
mpt2sas: Correct resizing calculation for max_queue_depth

commit 11e1b961ab067ee3acaf723531da4d3f23e1d6f7 upstream.

The ioc->hba_queue_depth is not properly resized when the controller
firmware reports that it supports more outstanding IO than what can be fit
inside the reply descriptor pool depth. This is reproduced by setting the
controller global credits larger than 30,000. The bug results in an
incorrect sizing of the queues. The fix is to resize the queue_size by
dividing queue_diff by two.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/mpt2sas/mpt2sas_base.c