Changing ESSID in ad-hoc mode make kernel bug
Jeong-Hwan Seo
seomarine at yahoo.com
Thu Oct 16 20:02:25 EDT 2008
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 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
More information about the libertas-dev
mailing list