Changing ESSID in ad-hoc mode make kernel bug

Dan Williams dcbw at redhat.com
Mon Jan 5 15:31:53 EST 2009


On Fri, 2008-10-17 at 09:02 +0900, Jeong-Hwan Seo wrote:
> Hi all, 
> 
> I found some problems in libertas driver.
> The initial command setting essid succeeds.
> But following command changing essid makes kernel bug.
> 
> I find that it happens only in adhoc mode.
> 
> operation : 
> # iwconfig eth0 mode ad-hoc
> # iwconfig eth0 essid HI
> # iwconfig eth0 essid HELLO
> 
> BUG: scheduling while atomic: iwconfig/801/0x00000002
> [<c002a2e0>] (dump_stack+0x0/0x14) from [<c00395ec>]
> (__schedule_bug+0x4c/0x58)
> [<c00395a0>] (__schedule_bug+0x0/0x58) from
> [<c02845f4>] (schedule+0x74/0x314)
>  r4:c7a39240
> [<c0284580>] (schedule+0x0/0x314) from [<c0186744>]
> (__lbs_cmd+0x11c/0x210)
> [<c0186628>] (__lbs_cmd+0x0/0x210) from [<c0181ed8>]
> (lbs_get_wireless_stats+0x1a8/0x350)
> [<c0181d30>] (lbs_get_wireless_stats+0x0/0x350) from
> [<c025d018>] (get_wireless_stats+0x2c/0x38)
>  r8:00000001 r7:4001e000 r6:000000a2 r5:c7a4d2e0
> r4:c709c000
> [<c025cfec>] (get_wireless_stats+0x0/0x38) from
> [<c025ded0>] (wireless_seq_show+0x38/0x108)
> [<c025de98>] (wireless_seq_show+0x0/0x108) from
> [<c00ac874>] (seq_read+0x240/0x394)
> [<c00ac634>] (seq_read+0x0/0x394) from [<c00c4894>]
> (proc_reg_read+0xb4/0xc8)
> [<c00c47e0>] (proc_reg_read+0x0/0xc8) from
> [<c008eefc>] (vfs_read+0xb0/0xd8)
> [<c008ee4c>] (vfs_read+0x0/0xd8) from [<c008f2d8>]
> (sys_read+0x44/0x70)
>  r6:00000000 r5:fffffff7 r4:c782a8a0
> [<c008f294>] (sys_read+0x0/0x70) from [<c0025ae0>]
> (ret_fast_syscall+0x0/0x2c)
>  r7:00000003 r6:000003ff r5:00015008 r4:00015008
> 
> After Bug message : 
> # iwconfig
> lo        no wireless extensions.
> 
> eth0      IEEE 802.11b/g  ESSID:"HELLO"
>           Mode:Ad-Hoc  Frequency:2.412 GHz  Cell:
> 02:2D:2D:60:D2:55
>           Bit Rate:0 kb/s   Tx-Power=18 dBm
>           Retry limit:8   RTS thr=2347 B   Fragment
> thr=2346 B
>           Encryption key:off
>           Power Management:off
>           Link Quality=0/100  Signal level=-11 dBm 
> Noise level=-11 dBm
>           Rx invalid nwid:0  Rx invalid crypt:0  Rx
> invalid frag:0
>           Tx excessive retries:0  Invalid misc:0  
> Missed beacon:0
> 
> I investigated the libertas code and I found
> something.
> lbs_get_wireless_stats calls lbs_cmd_with_response
> lbs_cmd_with_response(__lbs_cmd) calls
> wait_event_interruptible
> During wait_event_interruptible(schedule()), kernel
> bug is checked.
> Finally, __schedule_bug function prints
> "BUG:Scheduling while atomic".

I'll have to look into that.  Thanks for the report.  It may be that
2.6.27 has fixed this issue, but it may also be the case that it hasn't.
What firmware version are you running by the way?

Dan

> I tested it under 2.6.26 version with Marvell sd8686
> chipset.
> I will appreciate your help.
> ===================================
> Jase.
> SW center Samsung Electronics CO., LTD.
> Mobile : 010-7322-5759 TEL : 031-279-8028
> E-mail : jh2931.seo at samsung.com
> seomarine at yahoo.com
> ===================================
> 
> 
> 
>       ________________________________________________________ 
> 180도 달라진 야후! 메일 - 두둥! 새로운 야후! 메일에서는 메시지를 여기저기 끌어다 놓을 수 있답니다.
> http://kr.content.mail.yahoo.com/cgland
> 
> _______________________________________________
> 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