diff options
author | Kristen Carlson Accardi <kristen.c.accardi@intel.com> | 2007-11-03 00:37:08 +0100 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-11-05 04:54:21 +0100 |
commit | f5456b63ec9fdad37b680fc9fe6fe8222d2c1839 (patch) | |
tree | 8338b35f2af222741c1a3187a60a8e70266958f3 /drivers | |
parent | Merge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/air... (diff) | |
download | linux-f5456b63ec9fdad37b680fc9fe6fe8222d2c1839.tar.xz linux-f5456b63ec9fdad37b680fc9fe6fe8222d2c1839.zip |
libata: Don't disable dipm with SET FEATURES
LPM seems to get hung up while disabling DIPM, and after thinking
about this a bit, I don't think we really need to manually disable it
anyway.
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/libata-core.c | 18 |
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) 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; } |