On Wed, Mar 01, 2017 at 07:54:12AM -0800, Stephen Hemminger wrote: > > http://git.infradead.org/users/hch/block.git/commitdiff/148cff67b401e2229c076c0ea418712654be77e4 > > It appears that is already in the code I am testing in linux-next... It's in -next now, but it wasn't at the time you reported the bug. And it would sortof explain the bug if the INQUIRY data is correct in the scatterlist, but we ignore it, given that scsi_probe_lun ignores the result based on sense data. Can you check what happens with the horrible hack below: diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 6f7128f49c30..2f384ddb001a 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -603,7 +603,7 @@ static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result, SCSI_LOG_SCAN_BUS(3, sdev_printk(KERN_INFO, sdev, "scsi scan: INQUIRY %s with code 0x%x\n", result ? "failed" : "successful", result)); - +#if 0 if (result) { /* * not-ready to ready transition [asc/ascq=0x28/0x0] @@ -628,6 +628,12 @@ static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result, if (resid == try_inquiry_len) continue; } +#else + if (result) { + printk_ratelimited("got result %d:\n", result); + result = 0; + } +#endif break; }