summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx/ql4_iocb.c
diff options
context:
space:
mode:
authorKaren Higgins2013-01-21 05:51:00 +0100
committerJames Bottomley2013-01-30 03:47:16 +0100
commit5b1c1bff07d579f8a7b672d4e5262d52eba5ef01 (patch)
tree83b802ffe3e95af2c8e2ecfc1fc907143149f274 /drivers/scsi/qla4xxx/ql4_iocb.c
parent[SCSI] qla4xxx: Remove unnecessary code from qla4xxx_init_local_data (diff)
downloadkernel-qcow2-linux-5b1c1bff07d579f8a7b672d4e5262d52eba5ef01.tar.gz
kernel-qcow2-linux-5b1c1bff07d579f8a7b672d4e5262d52eba5ef01.tar.xz
kernel-qcow2-linux-5b1c1bff07d579f8a7b672d4e5262d52eba5ef01.zip
[SCSI] qla4xxx: Throttle active IOCBs to firmware limits
Problem: QLA4xxx firmware may assert if given more IOCBs than it can handle. Solution: The driver was updated to throttle the number of active IOCBs based on the total number of IOCB buffers received from get_firmware_status mbx_sts[2]. Signed-off-by: Karen Higgins <karen.higgins@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_iocb.c')
-rw-r--r--drivers/scsi/qla4xxx/ql4_iocb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_iocb.c b/drivers/scsi/qla4xxx/ql4_iocb.c
index f48f37a281d1..14fec976f634 100644
--- a/drivers/scsi/qla4xxx/ql4_iocb.c
+++ b/drivers/scsi/qla4xxx/ql4_iocb.c
@@ -316,7 +316,7 @@ int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb * srb)
goto queuing_error;
/* total iocbs active */
- if ((ha->iocb_cnt + req_cnt) >= REQUEST_QUEUE_DEPTH)
+ if ((ha->iocb_cnt + req_cnt) >= ha->iocb_hiwat)
goto queuing_error;
/* Build command packet */