Re: 2.6.29-rc3: tg3 dead after resume
From: Rafael J. Wysocki <hidden>
Date: 2009-02-04 00:42:14
Also in:
lkml
On Wednesday 04 February 2009, Parag Warudkar wrote:
On Tue, 3 Feb 2009, Rafael J. Wysocki wrote:quoted
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.
Great, thanks for testing. I'm going to push this one to Jesse. Best, Rafael
quoted
--- 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,