aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/libata-core.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 164c7d9514f9..3ed3cf2f5568 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -676,10 +676,11 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy)
676 if (rc) 676 if (rc)
677 return rc; 677 return rc;
678 678
679 /* disable DIPM */ 679 /*
680 if (ata_dev_enabled(dev) && (dev->flags & ATA_DFLAG_DIPM)) 680 * we don't have to disable DIPM since IPM flags
681 err_mask = ata_dev_set_feature(dev, 681 * disallow transitions to SLUMBER, which effectively
682 SETFEATURES_SATA_DISABLE, SATA_DIPM); 682 * disable DIPM if it does not support PARTIAL
683 */
683 break; 684 break;
684 case NOT_AVAILABLE: 685 case NOT_AVAILABLE:
685 case MAX_PERFORMANCE: 686 case MAX_PERFORMANCE:
@@ -689,10 +690,11 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy)
689 if (rc) 690 if (rc)
690 return rc; 691 return rc;
691 692
692 /* disable DIPM */ 693 /*
693 if (ata_dev_enabled(dev) && (dev->flags & ATA_DFLAG_DIPM)) 694 * we don't have to disable DIPM since IPM flags
694 err_mask = ata_dev_set_feature(dev, 695 * disallow all transitions which effectively
695 SETFEATURES_SATA_DISABLE, SATA_DIPM); 696 * disable DIPM anyway.
697 */
696 break; 698 break;
697 } 699 }
698 700