On Tue, Nov 27, 2012 at 09:14:22AM -0800, Paul Stoaks wrote: > > Nov 26 17:42:18 ub3 kernel: [13199.114297] BUG: scheduling while atomic: > > kworker/u:0/1920/0x00000200
This particular bug looks like the one fixed by: commit 55fabefe3695241e6ccfa0cd4974f3fa497693dc Author: Thomas Pedersen <[email protected]> Date: Fri Oct 5 17:57:39 2012 -0700 mac80211: call drv_get_tsf() in sleepable context The call to drv_get/set_tsf() was put on the workqueue to perform tsf adjustments since that function might sleep. However it ended up inside a spinlock, whose critical section must be atomic. Do tsf adjustment outside the spinlock instead, and get rid of a warning. Signed-off-by: Thomas Pedersen <[email protected]> Signed-off-by: John W. Linville <[email protected]> Can you check if your kernel has that commit? > > ath9k_htc_set_tsf+0x36/0x50 [ath9k_htc] Nov 26 17:42:18 ub3 kernel: > > [13199.114631] [<f871690d>] > > mesh_sync_adjust_tbtt+0x13d/0x2d0 [mac80211] Nov 26 17:42:18 ub3 > > kernel: [13199.114641] [<c14d007d>] ? drv_set_tsf() was called under mesh_sync_adjust_tbtt in atomic context, and drv_set_tsf() should be allowed to sleep. I believe ath9k_htc takes a mutex in this path, which is not allowed in a spin-locked section. In addition to what Javier suggested, you can find the line numbers from function name + offset with gdb via something like the following, provided you built with debug info: $ gdb net/mac80211/mac80211.ko (gdb) l *(mesh_sync_adjust_tbtt+0x13d) Knowing where kworker emitted the warning is probably less useful in this case than the execution stack leading up to that point, the relevant lines being what I quoted above. Here, the stack trace itself is enough to go on since there's only one call to drv_set_tsf() in mesh_sync_adjust_tbtt(). Without debug info and nice stack traces, things get harder. A few times I have started from assembly and register dumps and worked out which C code is called, and how a crash came to happen, but that's quite tedious and error-prone. -- Bob Copeland %% www.bobcopeland.com _______________________________________________ Devel mailing list [email protected] http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
