diff options
author | Kristen Carlson Accardi <kristen.c.accardi@intel.com> | 2007-11-02 19:37:08 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-11-04 22:54:21 -0500 |
commit | f5456b63ec9fdad37b680fc9fe6fe8222d2c1839 (patch) | |
tree | 8338b35f2af222741c1a3187a60a8e70266958f3 /drivers/ata | |
parent | b55d1b1814c52463c11707f53dbdc223e09b2924 (diff) |
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/ata')
-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) | |||
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 | ||