Message ID | 20220602225113.10218-3-tyler.erickson@seagate.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | ata,sd: Fix reading concurrent positioning ranges | expand |
On 6/3/22 00:51, Tyler Erickson wrote: > Fixing the page length in the SCSI translation for the concurrent > positioning ranges VPD page. It was writing starting in offset 3 > rather than offset 2 where the MSB is supposed to start for > the VPD page length. > > Cc: stable@vger.kernel.org > Fixes: fe22e1c2f705 ("libata: support concurrent positioning ranges log") > Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com> > Reviewed-by: Muhammad Ahmad <muhammad.ahmad@seagate.com> > Tested-by: Michael English <michael.english@seagate.com> > --- > drivers/ata/libata-scsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c > index 42cecf95a4e5..86dbb1cdfabd 100644 > --- a/drivers/ata/libata-scsi.c > +++ b/drivers/ata/libata-scsi.c > @@ -2125,7 +2125,7 @@ static unsigned int ata_scsiop_inq_b9(struct ata_scsi_args *args, u8 *rbuf) > > /* SCSI Concurrent Positioning Ranges VPD page: SBC-5 rev 1 or later */ > rbuf[1] = 0xb9; > - put_unaligned_be16(64 + (int)cpr_log->nr_cpr * 32 - 4, &rbuf[3]); > + put_unaligned_be16(64 + (int)cpr_log->nr_cpr * 32 - 4, &rbuf[2]); > > for (i = 0; i < cpr_log->nr_cpr; i++, desc += 32) { > desc[0] = cpr_log->cpr[i].num; Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 42cecf95a4e5..86dbb1cdfabd 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -2125,7 +2125,7 @@ static unsigned int ata_scsiop_inq_b9(struct ata_scsi_args *args, u8 *rbuf) /* SCSI Concurrent Positioning Ranges VPD page: SBC-5 rev 1 or later */ rbuf[1] = 0xb9; - put_unaligned_be16(64 + (int)cpr_log->nr_cpr * 32 - 4, &rbuf[3]); + put_unaligned_be16(64 + (int)cpr_log->nr_cpr * 32 - 4, &rbuf[2]); for (i = 0; i < cpr_log->nr_cpr; i++, desc += 32) { desc[0] = cpr_log->cpr[i].num;