ata fixes for 6.10-rc5
- We currently enable DIPM (device initiated power management) in the device (using a SET FEATURES call to the device), regardless if the HBA supports any LPM states or not. It seems counter intuitive, and potentially dangerous to enable a device side feature, when the HBA does not have the corresponding support. Thus, make sure that we do not enable DIPM if the HBA does not support any LPM states. -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRN+ES/c4tHlMch3DzJZDGjmcZNcgUCZnbkiAAKCRDJZDGjmcZN crNxAP41dBqTGDpMEkNFlXi7L0Xw27mFNm/rHu/wbA7wq2zABAD/fQ9oqT4N6aEI z3PQ0zdE7w0whTTcqQo8ruQdVYPQqwc= =FPee -----END PGP SIGNATURE----- Merge tag 'ata-6.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux Pull ata fix from Niklas Cassel: - We currently enable DIPM (device initiated power management) in the device (using a SET FEATURES call to the device), regardless if the HBA supports any LPM states or not. It seems counter intuitive, and potentially dangerous to enable a device side feature, when the HBA does not have the corresponding support. Thus, make sure that we do not enable DIPM if the HBA does not support any LPM states. * tag 'ata-6.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux: ata: ahci: Do not enable LPM if no LPM states are supported by the HBA
This commit is contained in:
commit
da3b6ef176
@ -1735,6 +1735,14 @@ static void ahci_update_initial_lpm_policy(struct ata_port *ap)
|
||||
if (ap->pflags & ATA_PFLAG_EXTERNAL)
|
||||
return;
|
||||
|
||||
/* If no LPM states are supported by the HBA, do not bother with LPM */
|
||||
if ((ap->host->flags & ATA_HOST_NO_PART) &&
|
||||
(ap->host->flags & ATA_HOST_NO_SSC) &&
|
||||
(ap->host->flags & ATA_HOST_NO_DEVSLP)) {
|
||||
ata_port_dbg(ap, "no LPM states supported, not enabling LPM\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* user modified policy via module param */
|
||||
if (mobile_lpm_policy != -1) {
|
||||
policy = mobile_lpm_policy;
|
||||
|
Loading…
Reference in New Issue
Block a user