Commit f1053a7c authored by Anatolij Gustschin's avatar Anatolij Gustschin Committed by James Bottomley

[SCSI] mptsas: Fix issue with chain pools allocation on katmai

Since commit 9d2e9d66
mptsas driver fails to allocate memory for the MPT chain buffers
for second LSI adapter on PPC440SPe Katmai platform:
...
ioc1: LSISAS1068E B3: Capabilities={Initiator}
mptbase: ioc1: ERROR - Unable to allocate Reply, Request, Chain Buffers!
mptbase: ioc1: ERROR - didn't initialize properly! (-3)
mptsas: probe of 0002:31:00.0 failed with error -3

This commit increased MPT_FC_CAN_QUEUE value but initChainBuffers()
doesn't differentiate between SAS and FC causing increased allocation
for SAS case, too. Later pci_alloc_consistent() fails to allocate
increased chain buffer pool size for SAS case.

Provide a fix by looking at the bus type and using appropriate
MPT_SAS_CAN_QUEUE value while calculation of the number of chain
buffers.
Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
Acked-by: default avatarKashyap Desai <kashyap.desai@lsi.com>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent cacb6dc3
...@@ -4330,6 +4330,8 @@ initChainBuffers(MPT_ADAPTER *ioc) ...@@ -4330,6 +4330,8 @@ initChainBuffers(MPT_ADAPTER *ioc)
if (ioc->bus_type == SPI) if (ioc->bus_type == SPI)
num_chain *= MPT_SCSI_CAN_QUEUE; num_chain *= MPT_SCSI_CAN_QUEUE;
else if (ioc->bus_type == SAS)
num_chain *= MPT_SAS_CAN_QUEUE;
else else
num_chain *= MPT_FC_CAN_QUEUE; num_chain *= MPT_FC_CAN_QUEUE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment