aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_transport_sas.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-09-20 18:10:19 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-10-02 13:29:19 -0400
commit2fc62e2ac350b8f574e0a09170b350a8f2fa4a02 (patch)
tree8ea7fd1c8a1897f05d8131eaca144eac4c4d0f04 /drivers/scsi/scsi_transport_sas.c
parentffaac8f45bfb2dffb78179baa5740de34058eef8 (diff)
[SCSI] libsas: disable scanning lun > 0 on ata devices
Currently mvsas and pm8001 have custom ->slave_alloc implementations to achieve this. Uplevel it for all libsas drivers as isci encounters problems with atapi devices when scanning past lun0. Just do what Darrick suggested [1], and limit the scan for ata devices. [1] http://marc.info/?l=linux-scsi&m=116604101119861&w=2 Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/scsi_transport_sas.c')
-rw-r--r--drivers/scsi/scsi_transport_sas.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c
index c6fcf76cade5..9d9330ae4213 100644
--- a/drivers/scsi/scsi_transport_sas.c
+++ b/drivers/scsi/scsi_transport_sas.c
@@ -1545,8 +1545,14 @@ int sas_rphy_add(struct sas_rphy *rphy)
1545 1545
1546 if (identify->device_type == SAS_END_DEVICE && 1546 if (identify->device_type == SAS_END_DEVICE &&
1547 rphy->scsi_target_id != -1) { 1547 rphy->scsi_target_id != -1) {
1548 scsi_scan_target(&rphy->dev, 0, 1548 int lun;
1549 rphy->scsi_target_id, SCAN_WILD_CARD, 0); 1549
1550 if (identify->target_port_protocols & SAS_PROTOCOL_SSP)
1551 lun = SCAN_WILD_CARD;
1552 else
1553 lun = 0;
1554
1555 scsi_scan_target(&rphy->dev, 0, rphy->scsi_target_id, lun, 0);
1550 } 1556 }
1551 1557
1552 return 0; 1558 return 0;