Commit 413e800c authored by Damien Le Moal's avatar Damien Le Moal Committed by Niklas Cassel
Browse files

ata: libata-sata: Disallow changing LPM state if not supported



Modify ata_scsi_lpm_store() to return an error if a user attempts to set
a link power management policy for a port that does not support LPM,
that is, ports flagged with ATA_FLAG_NO_LPM.

Signed-off-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Reviewed-by: default avatarNiklas Cassel <cassel@kernel.org>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20250701125321.69496-6-dlemoal@kernel.org


Signed-off-by: default avatarNiklas Cassel <cassel@kernel.org>
parent 4371fe1b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -924,6 +924,11 @@ static ssize_t ata_scsi_lpm_store(struct device *device,

	spin_lock_irqsave(ap->lock, flags);

	if (ap->flags & ATA_FLAG_NO_LPM) {
		count = -EOPNOTSUPP;
		goto out_unlock;
	}

	ata_for_each_link(link, ap, EDGE) {
		ata_for_each_dev(dev, &ap->link, ENABLED) {
			if (dev->quirks & ATA_QUIRK_NOLPM) {