Skip to content

Commit

Permalink
pata_rz1000: Power Management fix
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bzolnier authored and Jeff Garzik committed Dec 3, 2009
1 parent dd4a43c commit 0826ef5
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion drivers/ata/pata_rz1000.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,20 @@ static int rz1000_init_one (struct pci_dev *pdev, const struct pci_device_id *en
#ifdef CONFIG_PM
static int rz1000_reinit_one(struct pci_dev *pdev)
{
struct ata_host *host = dev_get_drvdata(&pdev->dev);
int rc;

rc = ata_pci_device_do_resume(pdev);
if (rc)
return rc;

/* If this fails on resume (which is a "cant happen" case), we
must stop as any progress risks data loss */
if (rz1000_fifo_disable(pdev))
panic("rz1000 fifo");
return ata_pci_device_resume(pdev);

ata_host_resume(host);
return 0;
}
#endif

Expand Down

0 comments on commit 0826ef5

Please sign in to comment.