]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'dipm-fix' into upstream-fixes
authorJeff Garzik <jeff@garzik.org>
Mon, 5 Nov 2007 14:16:38 +0000 (09:16 -0500)
committerJeff Garzik <jeff@garzik.org>
Mon, 5 Nov 2007 14:16:38 +0000 (09:16 -0500)
drivers/ata/libata-core.c

index 164c7d9514f9f0ce32088d1681a090c4c630875c..3ed3cf2f5568ce43dbac5388097dd6c550a9392b 100644 (file)
@@ -676,10 +676,11 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy)
                if (rc)
                        return rc;
 
-               /* disable DIPM */
-               if (ata_dev_enabled(dev) && (dev->flags & ATA_DFLAG_DIPM))
-                       err_mask = ata_dev_set_feature(dev,
-                                       SETFEATURES_SATA_DISABLE, SATA_DIPM);
+               /*
+                * we don't have to disable DIPM since IPM flags
+                * disallow transitions to SLUMBER, which effectively
+                * disable DIPM if it does not support PARTIAL
+                */
                break;
        case NOT_AVAILABLE:
        case MAX_PERFORMANCE:
@@ -689,10 +690,11 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy)
                if (rc)
                        return rc;
 
-               /* disable DIPM */
-               if (ata_dev_enabled(dev) && (dev->flags & ATA_DFLAG_DIPM))
-                       err_mask = ata_dev_set_feature(dev,
-                                       SETFEATURES_SATA_DISABLE, SATA_DIPM);
+               /*
+                * we don't have to disable DIPM since IPM flags
+                * disallow all transitions which effectively
+                * disable DIPM anyway.
+                */
                break;
        }