diff options
author | Hannes Reinecke <hare@suse.de> | 2014-06-03 04:58:54 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-07-17 16:07:36 -0400 |
commit | 755f516bbb983915d6cbfb5aa592cc0a5a99fd00 (patch) | |
tree | 1038be48bb4fa6dba32cb4381c471c90f69a43ff | |
parent | 22ffeb48b7584d6cd50f2a595ed6065d86a87459 (diff) |
qla2xxx: Restrict max_lun to 16-bit for older HBAs
Older HBAs are only capable of supporting 16-bit LUNs,
so we need to make sure to adjust max_lun accordingly.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Reviewed-by: Ewan Milne <emilne@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index d96bfb55e57b..5269aee1df3b 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -2661,7 +2661,12 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
2661 | else | 2661 | else |
2662 | host->max_cmd_len = MAX_CMDSZ; | 2662 | host->max_cmd_len = MAX_CMDSZ; |
2663 | host->max_channel = MAX_BUSES - 1; | 2663 | host->max_channel = MAX_BUSES - 1; |
2664 | host->max_lun = ql2xmaxlun; | 2664 | /* Older HBAs support only 16-bit LUNs */ |
2665 | if (!IS_QLAFX00(ha) && !IS_FWI2_CAPABLE(ha) && | ||
2666 | ql2xmaxlun > 0xffff) | ||
2667 | host->max_lun = 0xffff; | ||
2668 | else | ||
2669 | host->max_lun = ql2xmaxlun; | ||
2665 | host->transportt = qla2xxx_transport_template; | 2670 | host->transportt = qla2xxx_transport_template; |
2666 | sht->vendor_id = (SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_QLOGIC); | 2671 | sht->vendor_id = (SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_QLOGIC); |
2667 | 2672 | ||