It makes sense to take host support for DIPM into account when enabling DIPM, however, it makes zero sense to take host support into account when disabling DIPM. If the host does not support DIPM, that is a very good reason to not keep the feature enabled on the device side. Signed-off-by: Niklas Cassel <cassel@xxxxxxxxxx> --- drivers/ata/libata-eh.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index bc3654265053..91d97d98eed1 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -3473,8 +3473,7 @@ static int ata_eh_set_lpm(struct ata_link *link, enum ata_lpm_policy policy, hints &= ~ATA_LPM_HIPM; /* disable DIPM before changing link config */ - if (policy < ATA_LPM_MED_POWER_WITH_DIPM && - (dev_has_dipm && host_has_dipm)) { + if (policy < ATA_LPM_MED_POWER_WITH_DIPM && dev_has_dipm) { err_mask = ata_dev_set_feature(dev, SETFEATURES_SATA_DISABLE, SATA_DIPM); if (err_mask && err_mask != AC_ERR_DEV) { -- 2.49.0