Re: [PATCH] ata: SATL compliance for Inquiry Product Revision
From: Tejun Heo <tj@kernel.org>
Date: 2014-05-01 15:15:14
On Tue, Apr 29, 2014 at 01:25:24PM -0600, Keith Busch wrote:
quoted hunk ↗ jump to hunk
The SCSI/ATA Translation standard says to use data words 25 and 26 unless they are spaces. These words are generally more useful anway for devices that are not padding the firmware field with spaces. Signed-off-by: Keith Busch <redacted> Reviewed-by: Matthew Wilcox <redacted> --- drivers/ata/libata-scsi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index ef8567d..8034a38 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c@@ -1993,7 +1993,10 @@ static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf) memcpy(rbuf, hdr, sizeof(hdr)); memcpy(&rbuf[8], "ATA ", 8); ata_id_string(args->id, &rbuf[16], ATA_ID_PROD, 16); - ata_id_string(args->id, &rbuf[32], ATA_ID_FW_REV, 4); + if (args->id[25] == 0x2020 && args->id[26] == 0x2020)
Maybe strncmp(" ") is more readable? And can you please add some
comment explaining what's going on?
+ ata_id_string(args->id, &rbuf[32], ATA_ID_FW_REV, 4); + else + ata_id_string(args->id, &rbuf[32], ATA_ID_FW_REV + 2, 4);
So, this would change the behavior for devices which were reporting stuff in ATA_ID_FW_REV. Prolly no biggiee. Thanks. -- tejun