Skip to content

Commit da3b6ef

Browse files
committed
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
2 parents 1f5c537 + fa997b0 commit da3b6ef

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

drivers/ata/ahci.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1735,6 +1735,14 @@ static void ahci_update_initial_lpm_policy(struct ata_port *ap)
17351735
if (ap->pflags & ATA_PFLAG_EXTERNAL)
17361736
return;
17371737

1738+
/* If no LPM states are supported by the HBA, do not bother with LPM */
1739+
if ((ap->host->flags & ATA_HOST_NO_PART) &&
1740+
(ap->host->flags & ATA_HOST_NO_SSC) &&
1741+
(ap->host->flags & ATA_HOST_NO_DEVSLP)) {
1742+
ata_port_dbg(ap, "no LPM states supported, not enabling LPM\n");
1743+
return;
1744+
}
1745+
17381746
/* user modified policy via module param */
17391747
if (mobile_lpm_policy != -1) {
17401748
policy = mobile_lpm_policy;

0 commit comments

Comments
 (0)