bug: sleeping function called from invalid context ... libertas/cmd.c

Paul Fox pgf at laptop.org
Tue Jun 23 16:24:26 EDT 2009


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.)

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



More information about the libertas-dev mailing list