2012/2/6 Seth Forshee <seth.forshee@xxxxxxxxxxxxx>: > On Mon, Feb 06, 2012 at 08:13:11PM +0100, Hauke Mehrtens wrote: >> According to the Broadcom SDK for SoCs bcma_pcicore_serdes_workaround() >> should be called when coming out of standby/hibernate. >> The code wl uses to do the same thing as bcma does is open source. You >> find it in the GPL package of many Broadcom based Wifi Routers. > > Thanks for the suggestion. Unfortunately calling > bcma_pcicore_serdes_workaround() during resume doesn't help. I'll look > at the wl code to see if I can learn anything there. Can you try diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c index febbc0a..a097a26 100644 --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c @@ -267,6 +267,13 @@ int bcma_bus_resume(struct bcma_bus *bus) bcma_core_chipcommon_init(&bus->drv_cc); } + /* Init PCIE core */ + core = bcma_find_core(bus, BCMA_CORE_PCIE); + if (core) { + bus->drv_pci.setup_done = false; + bcma_core_pci_init(&bus->drv_pci); + } + list_for_each_entry(core, &bus->cores, list) { struct device_driver *drv = core->dev.driver; if (drv) { -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html