diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/scsi_scan.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index a43b9ec3aefd..7757e558d523 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -654,6 +654,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 | 654 | * short INQUIRY), an abort here prevents any further use of the |
655 | * device, including spin up. | 655 | * device, including spin up. |
656 | * | 656 | * |
657 | * On the whole, the best approach seems to be to assume the first | ||
658 | * 36 bytes are valid no matter what the device says. That's | ||
659 | * better than copying < 36 bytes to the inquiry-result buffer | ||
660 | * and displaying garbage for the Vendor, Product, or Revision | ||
661 | * strings. | ||
662 | */ | ||
663 | if (sdev->inquiry_len < 36) { | ||
664 | printk(KERN_INFO "scsi scan: INQUIRY result too short (%d)," | ||
665 | " using 36\n", sdev->inquiry_len); | ||
666 | sdev->inquiry_len = 36; | ||
667 | } | ||
668 | |||
669 | /* | ||
657 | * Related to the above issue: | 670 | * Related to the above issue: |
658 | * | 671 | * |
659 | * XXX Devices (disk or all?) should be sent a TEST UNIT READY, | 672 | * XXX Devices (disk or all?) should be sent a TEST UNIT READY, |