Commit 0826ef5f6fa28c50b70cfae001fd31531a1656f8

Authored by Bartlomiej Zolnierkiewicz
Committed by Jeff Garzik
1 parent dd4a43c979

pata_rz1000: Power Management fix

Fix ->resume method to re-enable & re-init PCI device properly
before doing chipset specific setup.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

Showing 1 changed file with 10 additions and 1 deletions Side-by-side Diff

drivers/ata/pata_rz1000.c
... ... @@ -105,11 +105,20 @@
105 105 #ifdef CONFIG_PM
106 106 static int rz1000_reinit_one(struct pci_dev *pdev)
107 107 {
  108 + struct ata_host *host = dev_get_drvdata(&pdev->dev);
  109 + int rc;
  110 +
  111 + rc = ata_pci_device_do_resume(pdev);
  112 + if (rc)
  113 + return rc;
  114 +
108 115 /* If this fails on resume (which is a "cant happen" case), we
109 116 must stop as any progress risks data loss */
110 117 if (rz1000_fifo_disable(pdev))
111 118 panic("rz1000 fifo");
112   - return ata_pci_device_resume(pdev);
  119 +
  120 + ata_host_resume(host);
  121 + return 0;
113 122 }
114 123 #endif
115 124