On Tue, Feb 13, 2024 at 09:33:06AM -0500, Martin K. Petersen wrote: > It has been observed that some USB/UAS devices return generic > properties hardcoded in firmware for mode pages and vital product data > for a period of time after a device has been discovered. The reported > properties are either garbage or they do not accurately reflect the > properties of the physical storage device attached in the case of a > bridge. ... > +static void sd_read_block_zero(struct scsi_disk *sdkp) > +{ > + unsigned int buf_len = sdkp->device->sector_size; > + char *buffer, cmd[10] = { }; > + > + buffer = kmalloc(buf_len, GFP_KERNEL); > + if (!buffer) > + return; > + > + cmd[0] = READ_10; > + put_unaligned_be32(0, &cmd[2]); /* Logical block address 0 */ > + put_unaligned_be16(1, &cmd[7]); /* Transfer 1 logical block */ > + > + scsi_execute_cmd(sdkp->device, cmd, REQ_OP_DRV_IN, buffer, buf_len, > + SD_TIMEOUT, sdkp->max_retries, NULL); > + kfree(buffer); > +} Do we still claim to support devices that implement only the 6-byte commands, not the 10-byte forms? Or is that now a non-issue? Alan Stern