On Mon, 2019-04-15 at 13:20 +0800, Li Zhong wrote: > diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c > index 53380e07b40e..058079f915f1 100644 > --- a/drivers/scsi/scsi_scan.c > +++ b/drivers/scsi/scsi_scan.c > @@ -1129,7 +1129,8 @@ static int scsi_probe_and_add_lun(struct scsi_target > *starget, > * that no LUN is present, so don't add sdev in these cases. > * Two specific examples are: > * 1) NetApp targets: return PQ=1, PDT=0x1f > - * 2) USB UFI: returns PDT=0x1f, with the PQ bits being "reserved" > + * 2) IBM/2145 targets: return PQ=1, PDT=0 > + * 3) USB UFI: returns PDT=0x1f, with the PQ bits being "reserved" > * in the UFI 1.0 spec (we cannot rely on reserved bits). > * > * References: > @@ -1143,8 +1144,8 @@ static int scsi_probe_and_add_lun(struct scsi_target > *starget, > * PDT=00h Direct-access device (floppy) > * PDT=1Fh none (no FDD connected to the requested logical unit) > */ > - if (((result[0] >> 5) == 1 || starget->pdt_1f_for_no_lun) && > - (result[0] & 0x1f) == 0x1f && > + if (((result[0] >> 5) == 1 || > + (starget->pdt_1f_for_no_lun && (result[0] & 0x1f) == 0x1f)) && > !scsi_is_wlun(lun)) { > SCSI_LOG_SCAN_BUS(3, sdev_printk(KERN_INFO, sdev, > "scsi scan: peripheral device type"
Neither the old nor the new code ignores the PQ bits for USB. But if that wasn't an issue with the old code the new code should also be fine. Hence: Reviewed-by: Bart Van Assche <bvanass...@acm.org>