linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH alt4] libata resume fixes
@ 2006-05-27 19:58 Jeff Garzik
  2006-05-27 20:10 ` [PATCH alt4 v2] " Jeff Garzik
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Jeff Garzik @ 2006-05-27 19:58 UTC (permalink / raw)
  To: linux-ide; +Cc: torvalds


diff --git a/drivers/scsi/ata_piix.c b/drivers/scsi/ata_piix.c
index 6dc8814..949d496 100644
--- a/drivers/scsi/ata_piix.c
+++ b/drivers/scsi/ata_piix.c
@@ -201,7 +201,7 @@ static struct pci_driver piix_pci_driver
 	.probe			= piix_init_one,
 	.remove			= ata_pci_remove_one,
 	.suspend		= ata_pci_device_suspend,
-	.resume			= ata_pci_device_resume,
+	.resume			= pata_pci_device_resume,
 };
 
 static struct scsi_host_template piix_sht = {
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index fa476e7..1d3a6d4 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -4852,6 +4852,25 @@ int ata_pci_device_resume(struct pci_dev
 	pci_set_master(pdev);
 	return 0;
 }
+
+int pata_pci_device_resume(struct pci_dev *pdev)
+{
+	struct device *dev = pci_dev_to_dev(pdev);
+	struct ata_host_set *host_set = dev_get_drvdata(dev);
+	struct ata_port *ap;
+	int i;
+
+	ata_pci_device_resume(pdev);
+
+	for (i = 0; i < host_set->n_ports; i++) {
+		ap = host_set->ports[i];
+		if (ata_bus_probe(ap))
+			printk(KERN_ERR "ata%u: failed to resume\n", ap->id);
+	}
+
+	return 0;
+}
+
 #endif /* CONFIG_PCI */
 
 
@@ -4970,6 +4989,7 @@ EXPORT_SYMBOL_GPL(ata_pci_init_one);
 EXPORT_SYMBOL_GPL(ata_pci_remove_one);
 EXPORT_SYMBOL_GPL(ata_pci_device_suspend);
 EXPORT_SYMBOL_GPL(ata_pci_device_resume);
+EXPORT_SYMBOL_GPL(pata_pci_device_resume);
 EXPORT_SYMBOL_GPL(ata_pci_default_filter);
 EXPORT_SYMBOL_GPL(ata_pci_clear_simplex);
 #endif /* CONFIG_PCI */
diff --git a/include/linux/libata.h b/include/linux/libata.h
index b80d2e7..cad531a 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -516,6 +516,7 @@ extern int ata_pci_init_one (struct pci_
 extern void ata_pci_remove_one (struct pci_dev *pdev);
 extern int ata_pci_device_suspend(struct pci_dev *pdev, pm_message_t state);
 extern int ata_pci_device_resume(struct pci_dev *pdev);
+extern int pata_pci_device_resume(struct pci_dev *pdev);
 extern int ata_pci_clear_simplex(struct pci_dev *pdev);
 #endif /* CONFIG_PCI */
 extern int ata_device_add(const struct ata_probe_ent *ent);

^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2006-05-29  5:25 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-27 19:58 [PATCH alt4] libata resume fixes Jeff Garzik
2006-05-27 20:10 ` [PATCH alt4 v2] " Jeff Garzik
2006-05-27 20:14   ` Jeff Garzik
2006-05-27 20:30     ` Mark Lord
     [not found]     ` <4478B611.2030201@rtr.ca>
2006-05-27 20:32       ` Jeff Garzik
2006-05-27 20:41         ` Mark Lord
2006-05-27 20:56           ` Jeff Garzik
2006-05-27 21:00             ` Mark Lord
2006-05-27 21:06               ` Jeff Garzik
2006-05-27 21:09                 ` Mark Lord
2006-05-27 21:14                   ` Jeff Garzik
2006-05-27 20:13 ` [PATCH alt4] " Mark Lord
2006-05-27 20:52 ` [PATCH alt4 v3] " Jeff Garzik
2006-05-27 20:56   ` Mark Lord
2006-05-27 21:11     ` Jeff Garzik
2006-05-27 21:15       ` Mark Lord
2006-05-27 21:25         ` Jeff Garzik
2006-05-27 21:12     ` Mark Lord
2006-05-27 21:21       ` Jeff Garzik
2006-05-29  3:53         ` zhao, forrest
2006-05-29  5:25           ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).