aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_scan.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
-rw-r--r--drivers/scsi/scsi_scan.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index d6fe756eb371..0949145304ea 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -385,6 +385,7 @@ static struct scsi_target *scsi_alloc_target(struct device *parent,
385 INIT_LIST_HEAD(&starget->siblings); 385 INIT_LIST_HEAD(&starget->siblings);
386 INIT_LIST_HEAD(&starget->devices); 386 INIT_LIST_HEAD(&starget->devices);
387 starget->state = STARGET_RUNNING; 387 starget->state = STARGET_RUNNING;
388 starget->scsi_level = SCSI_2;
388 retry: 389 retry:
389 spin_lock_irqsave(shost->host_lock, flags); 390 spin_lock_irqsave(shost->host_lock, flags);
390 391
@@ -654,6 +655,19 @@ static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result,
654 * short INQUIRY), an abort here prevents any further use of the 655 * short INQUIRY), an abort here prevents any further use of the
655 * device, including spin up. 656 * device, including spin up.
656 * 657 *
658 * On the whole, the best approach seems to be to assume the first
659 * 36 bytes are valid no matter what the device says. That's
660 * better than copying < 36 bytes to the inquiry-result buffer
661 * and displaying garbage for the Vendor, Product, or Revision
662 * strings.
663 */
664 if (sdev->inquiry_len < 36) {
665 printk(KERN_INFO "scsi scan: INQUIRY result too short (%d),"
666 " using 36\n", sdev->inquiry_len);
667 sdev->inquiry_len = 36;
668 }
669
670 /*
657 * Related to the above issue: 671 * Related to the above issue:
658 * 672 *
659 * XXX Devices (disk or all?) should be sent a TEST UNIT READY, 673 * XXX Devices (disk or all?) should be sent a TEST UNIT READY,