Tejun Heo wrote:
The controller only needs to be powered down on PMSG_SUSPEND. Skip powering down for all other messages. This makes disk suspend prep cycle more efficient and helps controllers which have problems waking up from D3hot without intervening power removal. Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> --- drivers/scsi/libata-core.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) 85016ad86323924d10dc99ac9d7e9e5c0b967b8e diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 9a3bd15..51d3b4b 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -5661,7 +5661,10 @@ int ata_pci_device_suspend(struct pci_de { pci_save_state(pdev); pci_disable_device(pdev); - pci_set_power_state(pdev, PCI_D3hot); + + if (state.event == PM_EVENT_SUSPEND) + pci_set_power_state(pdev, PCI_D3hot);
If this change makes sense for the D0->D3 transition, surely it would make sense to cover the other operations (save-state, disable) as well?
Jeff - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html