Alan Stern wrote: > Some protocols (like USB UFI) or devices that don't adhere to the SCSI > standard may indicate a nonexistent LUN by returning INQUIRY information > with Peripheral Device Type set to 0x1f (unknown or none) and Peripheral > Qualifier set to 0 instead of 3 as the spec requires. This patch (as650) > causes PDT = 0x1f to be recognized as no LUN present regardless of the > qualifier value, if the SCSI level is equal to 0. This patch will break the ipr driver. The ipr adapter firmware reports a logical scsi device which is used for RAID configuration. It reports a Peripheral Device Type of 0x1f and a scsi level of 0, since it does not claim compliance with any scsi level. Brian > > Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > > --- > James: > > Since nobody objected when I proposed this last week, I'm now submitting > it as a real patch. > > Alan Stern > > > 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 > @@ -873,6 +873,19 @@ static int scsi_probe_and_add_lun(struct > goto out_free_result; > } > > + /* > + * Non-standard SCSI devices may set the PDT to 0x1f (unknown or > + * no device type) instead of using the peripheral qualifier to > + * indicate that no LUN is present. For example, USB UFI does this. > + */ > + if (sdev->scsi_level == 0 && (result[0] & 0x1f) == 0x1f) { > + SCSI_LOG_SCAN_BUS(3, printk(KERN_INFO > + "scsi scan: peripheral device type" > + " of 31, no device added\n")); > + res = SCSI_SCAN_TARGET_PRESENT; > + goto out_free_result; > + } > + > res = scsi_add_lun(sdev, result, &bflags); > if (res == SCSI_SCAN_LUN_PRESENT) { > if (bflags & BLIST_KEY) { > > - > : send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Brian King eServer Storage I/O IBM Linux Technology Center - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html