Re: 2.6.29-rc3: tg3 dead after resume
From: Parag Warudkar <hidden>
Date: 2009-02-04 00:39:23
Also in:
lkml
On Tue, 3 Feb 2009, Rafael J. Wysocki wrote:
Can you also test this one instead and tell me if it still works?
Removing Linus' patch and applying the below one works as well. Parag
quoted hunk ↗ jump to hunk
--- drivers/pci/pcie/portdrv_pci.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) Index: linux-2.6/drivers/pci/pcie/portdrv_pci.c ===================================================================--- linux-2.6.orig/drivers/pci/pcie/portdrv_pci.c +++ linux-2.6/drivers/pci/pcie/portdrv_pci.c@@ -55,25 +55,13 @@ static int pcie_portdrv_suspend(struct p } -static int pcie_portdrv_suspend_late(struct pci_dev *dev, pm_message_t state) -{ - return pci_save_state(dev); -} - -static int pcie_portdrv_resume_early(struct pci_dev *dev) -{ - return pci_restore_state(dev); -} - static int pcie_portdrv_resume(struct pci_dev *dev) { - pcie_portdrv_restore_config(dev); + pci_set_master(dev); return pcie_port_device_resume(dev); } #else #define pcie_portdrv_suspend NULL -#define pcie_portdrv_suspend_late NULL -#define pcie_portdrv_resume_early NULL #define pcie_portdrv_resume NULL #endif@@ -292,8 +280,6 @@ static struct pci_driver pcie_portdriver .remove = pcie_portdrv_remove, .suspend = pcie_portdrv_suspend, - .suspend_late = pcie_portdrv_suspend_late, - .resume_early = pcie_portdrv_resume_early, .resume = pcie_portdrv_resume, .err_handler = &pcie_portdrv_err_handler,