public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] SCSI core: always store >= 36 bytes of INQUIRY data
@ 2006-10-26 21:11 Alan Stern
  2006-10-27 21:43 ` Patrick Mansfield
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Stern @ 2006-10-26 21:11 UTC (permalink / raw)
  To: James Bottomley; +Cc: SCSI development list

This patch (as810) sets the length of the INQUIRY data to a minimum of
36 bytes, even if the device claims that not all of them are valid.
Using the data sent by the device is better than allocating a short
buffer and then reading beyond the end of it, which is what we do now.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>

---

Index: usb-2.6/drivers/scsi/scsi_scan.c
===================================================================
--- usb-2.6.orig/drivers/scsi/scsi_scan.c
+++ usb-2.6/drivers/scsi/scsi_scan.c
@@ -575,6 +575,19 @@ static int scsi_probe_lun(struct scsi_de
 	 * short INQUIRY), an abort here prevents any further use of the
 	 * device, including spin up.
 	 *
+	 * On the whole, the best approach seems to be to assume the first
+	 * 36 bytes are valid no matter what the device says.  That's
+	 * better than copying < 36 bytes to the inquiry-result buffer
+	 * and displaying garbage for the Vendor, Product, and Revision
+	 * strings.
+	 */
+	if (sdev->inquiry_len < 36) {
+		printk(KERN_INFO "scsi scan: INQUIRY result too short (%d),"
+				" using 36\n", sdev->inquiry_len);
+		sdev->inquiry_len = 36;
+	}
+
+	/*
 	 * Related to the above issue:
 	 *
 	 * XXX Devices (disk or all?) should be sent a TEST UNIT READY,


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-10-31 21:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-26 21:11 [PATCH] SCSI core: always store >= 36 bytes of INQUIRY data Alan Stern
2006-10-27 21:43 ` Patrick Mansfield
2006-10-27 22:10   ` Douglas Gilbert
2006-10-28 15:41     ` Alan Stern
2006-10-30 16:40       ` Douglas Gilbert
2006-10-28 15:33   ` Alan Stern
2006-10-28 18:30     ` Patrick Mansfield
2006-10-30 15:20   ` Alan Stern
2006-10-30 16:32     ` Stefan Richter
2006-10-31 21:26       ` Alan Stern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox