On Sat, 2009-07-04 at 13:03 +0400, Alexander Barinov wrote: > Hi, > > I have Eking I1 UMPC that features Marvell 8686 SDIO wireless card. I > am currently using vanilla kernel 2.6.30, but the bug is there on > Debian 2.26 and 2.29 as well as vanilla 2.29 kernels I tried previously > > The initial symptom of the bug was system lockup when executing 'ifdown > eth0' with 'BUG: scheduling while atomic'. Trying to understand the > cause of the bug and find a workaround I was able to find an easier way > to reproduce it. By executing 'cat /proc/net/wireless' I get the same > bug: > > BUG: scheduling while atomic: cat/1885/0x00000002 > Pid: 1885, comm: cat Not tainted 2.6.30.090704 #2 > Call Trace: > [<c042eb7f>] ? __schedule+0x37f/0x8c0 > [<c01237cd>] ? try_to_wake_up+0x8d/0x1e0 > [<c011ee0e>] ? __wake_up+0x3e/0x60 > [<c02e882c>] ? __lbs_cmd_async+0x11c/0x280 > [<c018ddbe>] ? d_rehash+0x2e/0x50 > [<c042f0d0>] ? schedule+0x10/0x30 > [<c02e8be4>] ? __lbs_cmd+0xa4/0x1a0 > [<c02ea3f0>] ? lbs_cmd_copyback+0x0/0x40 > [<c013c460>] ? autoremove_wake_function+0x0/0x50 > [<c02e67d5>] ? lbs_get_wireless_stats+0xf5/0x3c0 > [<c02ea3f0>] ? lbs_cmd_copyback+0x0/0x40 > [<c03fb1e7>] ? wireless_seq_show+0x47/0x180 > [<c03965bf>] ? dev_seq_start+0x1f/0xb0 > [<c0196c6d>] ? seq_read+0x1fd/0x360 > [<c0196a70>] ? seq_read+0x0/0x360 > [<c01b4774>] ? proc_reg_read+0x64/0xa0 > [<c01b4710>] ? proc_reg_read+0x0/0xa0 > [<c017f9ab>] ? vfs_read+0x9b/0x120 > [<c017fb01>] ? sys_read+0x41/0x80 > [<c0102f21>] ? syscall_call+0x7/0xb > > Please let me know if I should provide any additional details regarding > the bug. This should have been fixed by 87057825824973f29cf2f37cff1e549170b2d7e6. For some reason everybody seems to have assumed that get_wireless_stats can sleep, which before that commit it could _not_. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part