bug: sleeping function called from invalid context ... libertas/cmd.c
Dan Williams
dcbw at redhat.com
Sat Jun 27 08:18:03 EDT 2009
On Tue, 2009-06-23 at 16:24 -0400, Paul Fox wrote:
> dan wrote:
> > On Fri, 2009-06-19 at 10:55 -0400, Paul Fox wrote:
> > > hi --
> > >
> > > on the OLPC XO laptop, i'm seeing the following backtrace fairly
> > > often. my network management program uses iwconfig a lot, so i
> > > may see it more than others might. i'm running 2.6.30 (slightly
> > > OLPC-modified, but not at this level), so i think the libertas
> > > driver is pretty current.
> > >
> > > btw, this has been mentioned before on this list:
> > > http://lists.infradead.org/pipermail/libertas-dev/2008-May/001532.html
> > > but i didn't see a resolution -- was there one? (i haven't yet
> > > convinced myself of exactly when it occurs for me, so i can't say
> > > my symptom is identical to that poster's.)
> >
> > This occurs because the GET_LOG command is sent from the get_stats
> > handler in wext.c, and that grabs some spinlocks and disables
> > interrupts. The only way to fix this is to cache the values in the
> > driver and check them periodically or when data comes in or something
> > like that, and the reflect the cached values from the get_stats WEXT
> > handler. That means cat /proc/net/wireless and such won't always return
> > current statistics, but its the best we can do for now.
> >
> > Dan
> >
>
> thanks dan.
>
> might this be helped by commit 87057825824973f29cf2f37cff1e549170b2d7e6 ?
> (daniel drake spotted this and pointed it out to me.)
Yup, that will probably fix this issue without the need for patching
libertas.
Dan
> paul
>
> commit 87057825824973f29cf2f37cff1e549170b2d7e6
> Author: Johannes Berg <johannes at sipsolutions.net>
> Date: Tue May 19 17:19:36 2009 +0200
>
> wext: remove atomic requirement for wireless stats
>
> The requirement for wireless stats to be atomic is now mostly
> artificial since we hold the rtnl _and_ the dev_base_lock for
> iterating the device list. Doing that is not required, just the
> rtnl is sufficient (and the rtnl is required for other reasons
> outlined in commit "wext: fix get_wireless_stats locking").
>
> This will fix http://bugzilla.kernel.org/show_bug.cgi?id=13344
> and make things easier for drivers.
>
> Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
> Signed-off-by: John W. Linville <linville at tuxdriver.com>
>
>
> =---------------------
> paul fox, pgf at laptop.org
>
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev
More information about the libertas-dev
mailing list