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>
This commit is contained in:
Kristen Carlson Accardi 2007-11-02 16:37:08 -07:00 committed by Jeff Garzik
parent b55d1b1814
commit f5456b63ec
1 changed files with 10 additions and 8 deletions

View 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;
}