--- zzzz-none-000/linux-2.6.39.4/drivers/pci/pci-driver.c 2011-08-03 19:43:28.000000000 +0000 +++ puma6-arm-6490-729/linux-2.6.39.4/drivers/pci/pci-driver.c 2021-11-10 13:23:10.000000000 +0000 @@ -588,6 +588,10 @@ static void pci_pm_default_suspend(struct pci_dev *pci_dev) { /* Disable non-bridge devices without PM support */ +#ifdef CONFIG_ARCH_GEN3 + if (!pci_dev->state_saved) + pci_save_state(pci_dev); +#endif if (!pci_is_bridge(pci_dev)) pci_disable_enabled_device(pci_dev); } @@ -696,6 +700,9 @@ return pci_legacy_suspend_late(dev, PMSG_SUSPEND); if (!pm) { +#ifdef CONFIG_ARCH_GEN3 + if (!pci_dev->state_saved) +#endif pci_save_state(pci_dev); return 0; }