ata fixes for 7.0-rc5
- ADATA SU680 SSDs are causing command timeouts when LPM is enabled.
Enable the ATA_QUIRK_NOLPM quirk to prevent LPM from being enabled
on these devices. (Damien)
- When receiving a REPORT SUPPORTED OPERATION CODES command with an
invalid REPORTING OPTIONS format, sense data should have the field
pointer set to byte 2 (the location of the REPORTING OPTIONS field)
instead of incorrectly pointing to byte 1. (Damien)
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQRN+ES/c4tHlMch3DzJZDGjmcZNcgUCab0ZFgAKCRDJZDGjmcZN
cqKuAP4181TtV8gbE2leWvKth6vG/yq1YUbHkM0rDZZ1tmw0HAEApSdkZJIE+d+Z
kM5d39ObP+ZVC3HyS+kVuquEGhuvnQ0=
=gW5F
-----END PGP SIGNATURE-----
Merge tag 'ata-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata fixes from Niklas Cassel:
- ADATA SU680 SSDs are causing command timeouts when LPM is enabled.
Enable the ATA_QUIRK_NOLPM quirk to prevent LPM from being enabled
on these devices (Damien)
- When receiving a REPORT SUPPORTED OPERATION CODES command with an
invalid REPORTING OPTIONS format, sense data should have the field
pointer set to byte 2 (the location of the REPORTING OPTIONS field)
instead of incorrectly pointing to byte 1 (Damien)
* tag 'ata-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
ata: libata-scsi: report correct sense field pointer in ata_scsiop_maint_in()
ata: libata-core: disable LPM on ADATA SU680 SSD
This commit is contained in:
commit
f374ff79f4
|
|
@ -4188,6 +4188,9 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
|
|||
{ "ST3320[68]13AS", "SD1[5-9]", ATA_QUIRK_NONCQ |
|
||||
ATA_QUIRK_FIRMWARE_WARN },
|
||||
|
||||
/* ADATA devices with LPM issues. */
|
||||
{ "ADATA SU680", NULL, ATA_QUIRK_NOLPM },
|
||||
|
||||
/* Seagate disks with LPM issues */
|
||||
{ "ST1000DM010-2EP102", NULL, ATA_QUIRK_NOLPM },
|
||||
{ "ST2000DM008-2FR102", NULL, ATA_QUIRK_NOLPM },
|
||||
|
|
|
|||
|
|
@ -3600,7 +3600,7 @@ static unsigned int ata_scsiop_maint_in(struct ata_device *dev,
|
|||
|
||||
if (cdb[2] != 1 && cdb[2] != 3) {
|
||||
ata_dev_warn(dev, "invalid command format %d\n", cdb[2]);
|
||||
ata_scsi_set_invalid_field(dev, cmd, 1, 0xff);
|
||||
ata_scsi_set_invalid_field(dev, cmd, 2, 0xff);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue