From: Chad Dupuis <chad.dup...@qlogic.com>

Tell the mid-layer that number of commands we can queue is the available
resources we have minus a small amount for internal commands.

Signed-off-by: Chad Dupuis <chad.dup...@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kash...@qlogic.com>
---
 drivers/scsi/qla2xxx/qla_os.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index c698e10..464bb2b 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -2561,10 +2561,6 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct 
pci_device_id *id)
 
        host = base_vha->host;
        base_vha->req = req;
-       if (IS_QLAFX00(ha))
-               host->can_queue = QLAFX00_MAX_CANQUEUE;
-       else
-               host->can_queue = req->length + 128;
        if (IS_QLA2XXX_MIDTYPE(ha))
                base_vha->mgmt_svr_loop_id = 10 + base_vha->vp_idx;
        else
@@ -2587,11 +2583,6 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct 
pci_device_id *id)
                if (!IS_QLA82XX(ha))
                        host->sg_tablesize = QLA_SG_ALL;
        }
-       ql_dbg(ql_dbg_init, base_vha, 0x0032,
-           "can_queue=%d, req=%p, "
-           "mgmt_svr_loop_id=%d, sg_tablesize=%d.\n",
-           host->can_queue, base_vha->req,
-           base_vha->mgmt_svr_loop_id, host->sg_tablesize);
        host->max_id = ha->max_fibre_devices;
        host->cmd_per_lun = 3;
        host->unique_id = host->host_no;
@@ -2707,6 +2698,17 @@ que_init:
                goto probe_failed;
        }
 
+       if (IS_QLAFX00(ha))
+               host->can_queue = QLAFX00_MAX_CANQUEUE;
+       else
+               host->can_queue = req->num_outstanding_cmds - 10;
+
+       ql_dbg(ql_dbg_init, base_vha, 0x0032,
+           "can_queue=%d, req=%p, "
+           "mgmt_svr_loop_id=%d, sg_tablesize=%d.\n",
+           host->can_queue, base_vha->req,
+           base_vha->mgmt_svr_loop_id, host->sg_tablesize);
+
        if (ha->mqenable) {
                if (qla25xx_setup_mode(base_vha)) {
                        ql_log(ql_log_warn, base_vha, 0x00ec,
-- 
1.7.7

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to