BCM4331 fails to associate after suspend
Seth Forshee
seth.forshee at canonical.com
Mon Feb 6 17:34:47 EST 2012
On Mon, Feb 06, 2012 at 08:13:11PM +0100, Hauke Mehrtens wrote:
> On 02/06/2012 06:37 PM, Seth Forshee wrote:
> > On Mon, Feb 06, 2012 at 05:56:20PM +0100, Rafał Miłecki wrote:
> >> 2012/2/4 Seth Forshee <seth.forshee at canonical.com>:
> >>> On Sat, Feb 04, 2012 at 11:44:23AM +0100, Arend van Spriel wrote:
> >>>> On 02/03/2012 11:28 PM, Seth Forshee wrote:
> >>>>>
> >>>>> I've been looking around a bit in the b43 and bcma drivers, but so far I
> >>>>> haven't found the reason why this happens. Any help would be
> >>>>> appreciated. Let me know if there's additional information I can
> >>>>> provide.
> >>>>>
> >>>>
> >>>> With which kernel version do you see these issues? BCMA suspend/resume
> >>>> code has a fix in 3.3-rc1. So if you are seeing it on a 3.2 kernel,
> >>>> please give it a try.
> >>>
> >>> I've tried 3.3-rc2 and the wirless-testing tree, and the problem still
> >>> exists in both.
> >>
> >> I don't have access to suspendable machine with Mini PCIe card, not to
> >> mention BCM4331 which is available for Mac-specific slot only (or
> >> routers as embedded wifi). It may be b43 needs to fix but I'm not
> >> really able to work on that. Plus the whole BCM4331 code is really
> >> tricky, as it comes from RE based on dumps only :(
> >
> > Okay, I'll keep poking at it to see if I can come up with anything. If
> > you've got any suggestions on things I should be looking at or trying,
> > I'm all ears.
> >
> > Seth
>
> 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.
Seth
More information about the b43-dev
mailing list