Search Linux Wireless

Re: BCM4331 fails to associate after suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 07, 2012 at 09:29:21AM -0600, Seth Forshee wrote:
> On Tue, Feb 07, 2012 at 08:08:11AM +0100, Rafał Miłecki wrote:
> > W dniu 7 lutego 2012 08:04 użytkownik Rafał Miłecki <zajec5@xxxxxxxxx> napisał:
> > > 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) {
> > 
> > If this doesn't work out of box, please check if reloading b43 is
> > enough. AFAIR now you have to reload both: b43 and bcma. I hope this
> > patch will let you avoid reloading at least bcma.
> 
> I tried exactly that yesterday, but it doesn't fix the issue. I just
> checked to see if it allows reloading only b43, and it does not. I still
> have to reload bcma to get the wireless working again.

I've been pounding on this quite a bit in the past week, but I haven't
been able to get anywhere so far. Any relevant workarounds I found in wl
have no effect, and neither does any amount of reinitialization.

I'm still digging into the drivers to see if I can learn anything, but
if anyone has more suggestions I'll happily give them a try.

Seth
--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux