aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index ef47b824cbed..16dc8c82b5ce 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -1616,7 +1616,11 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid)
1616 goto out_free_iocbq; 1616 goto out_free_iocbq;
1617 } 1617 }
1618 1618
1619 /* We can rely on a queue depth attribute only after SLI HBA setup */ 1619 /*
1620 * Set initial can_queue value since 0 is no longer supported and
1621 * scsi_add_host will fail. This will be adjusted later based on the
1622 * max xri value determined in hba setup.
1623 */
1620 host->can_queue = phba->cfg_hba_queue_depth - 10; 1624 host->can_queue = phba->cfg_hba_queue_depth - 10;
1621 1625
1622 /* Tell the midlayer we support 16 byte commands */ 1626 /* Tell the midlayer we support 16 byte commands */
@@ -1656,6 +1660,12 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid)
1656 goto out_free_irq; 1660 goto out_free_irq;
1657 } 1661 }
1658 1662
1663 /*
1664 * hba setup may have changed the hba_queue_depth so we need to adjust
1665 * the value of can_queue.
1666 */
1667 host->can_queue = phba->cfg_hba_queue_depth - 10;
1668
1659 lpfc_discovery_wait(phba); 1669 lpfc_discovery_wait(phba);
1660 1670
1661 if (phba->cfg_poll & DISABLE_FCP_RING_INT) { 1671 if (phba->cfg_poll & DISABLE_FCP_RING_INT) {