Bugzilla – Bug 365
atomic scheduling in ipw_send_cmd() and fatal error when changing association
Last modified: 2005-10-03 14:39:14
You need to log in before you can comment on or make changes to this bug.
(rusty@linux.jf.intel.com asked me to submit this bug) v0.13 of the driver loses association frequently, and spits out huge numbers of the following error message: bad: scheduling while atomic! [<c0372fe8>] schedule+0x788/0x790 [<c0373fae>] schedule_timeout+0x8e/0xe0 [<c0132880>] process_timeout+0x0/0x10 [<e0a37839>] ipw_send_cmd+0x159/0x240 [ipw2200] [<c0122140>] autoremove_wake_function+0x0/0x60 [<c0122140>] autoremove_wake_function+0x0/0x60 [<c02045e8>] vsprintf+0x28/0x30 [<e0a37c2d>] ipw_send_adapter_address+0xdd/0x120 [ipw2200] [<e0a380e4>] ipw_send_tx_power+0x74/0xc0 [ipw2200] [<c02fb847>] alloc_skb+0x47/0xf0 [<e0a45643>] ipw_config+0x93/0x170 [ipw2200] [<e0a457b2>] ipw_up+0x92/0x1c0 [ipw2200] [<e0a419a0>] ipw_adapter_restart+0x30/0x50 [ipw2200] [<e0a44c5b>] ipw_rf_kill+0x13b/0x2e0 [ipw2200] [<c013e52b>] worker_thread+0x25b/0x4b0 [<e0a44b20>] ipw_rf_kill+0x0/0x2e0 [ipw2200] [<c0120050>] default_wake_function+0x0/0x20 [<c0120050>] default_wake_function+0x0/0x20 [<c013e2d0>] worker_thread+0x0/0x4b0 [<c01455aa>] kthread+0xaa/0xb0 [<c0145500>] kthread+0x0/0xb0 [<c01032cd>] kernel_thread_helper+0x5/0x18 At one point, when attempting to switch access points in an attempt to correct the error, I got this message, which FUBARed the driver: ipw2200: Fatal error ipw2200: Start IPW Error Log Dump: ipw2200: ERROR_SYSASSERT 450752576 0x0001c0e8 0x0000be3c 0x00000278 0x01b3f99c 0x0000038b ipw2200: ERROR_DMA_STATUS 450752580 0x000276e0 0x000277d0 0x01540001 0x00000000 0x00000000 ipw2200: ERROR_DMA_STATUS 450752584 0x00028400 0x000284e0 0x00540001 0x00000000 0x00000001 ipw2200: ERROR_DMA_STATUS 450752587 0x00028000 0x00028070 0x00540000 0x9c6a4200 0x00000002 ipw2200: ERROR_DMA_STATUS 450752591 0x00408000 0x00408000 0x30408200 0x00000082 0x00000003 ipw2200: Start IPW Event Log Dump: ipw2200: 450751815 0x0000003a 281 ipw2200: 450751821 0x0000003c 282 ipw2200: 450751824 0x00000000 206 ipw2200: 450751830 0x00000012 257 ipw2200: 450751834 0x00000196 192 ipw2200: 450751843 0x00000014 20 ipw2200: 450751855 0x00000034 279 ipw2200: 450751860 0x00000036 280 ipw2200: 450751865 0x0000005f 273 ipw2200: 450751868 0x00000008 32 ipw2200: 450751872 0x00ff0000 37 ipw2200: 450751883 0x00000008 35 ipw2200: 450751886 0x00000008 22 ipw2200: 450751892 0x8008be04 22 ipw2200: 450751908 0x00ff0000 37 ipw2200: 450751912 0x00000061 274 ipw2200: 450751938 0x00000034 279 ipw2200: 450751944 0x00000036 280 ipw2200: 450751947 0x0000003a 281 ipw2200: 450751953 0x0000003c 282 ipw2200: 450751956 0x00000000 206 ipw2200: 450751961 0x00000012 257 ipw2200: 450751966 0x00000196 192 ipw2200: 450751975 0x00000014 20 ipw2200: 450751987 0x00000034 279 ipw2200: 450751992 0x00000036 280 ipw2200: 450751997 0x0000005f 273 ipw2200: 450752000 0x00000008 32 ipw2200: 450752004 0x00ff0000 37 ipw2200: 450752015 0x00000008 35 ipw2200: 450752018 0x00000008 22 ipw2200: 450752024 0x8008bf04 22 ipw2200: 450752040 0x00ff0000 37 ipw2200: 450752044 0x00000061 274 ipw2200: 450752070 0x00000034 279 ipw2200: 450752076 0x00000036 280 ipw2200: 450752079 0x0000003a 281 ipw2200: 450752085 0x0000003c 282 ipw2200: 450752088 0x00000000 206 ipw2200: 450752093 0x00000008 257 ipw2200: 450752103 0x00000034 279 ipw2200: 450752109 0x00000036 280 ipw2200: 450752145 0x00000034 279 ipw2200: 450752150 0x00000036 280 ipw2200: 450752154 0x0000003a 281 ipw2200: 450752159 0x0000003c 282 ipw2200: 450752162 0x00000000 206 ipw2200: 450752168 0x00000016 257 ipw2200: 450752238 0x00000038 20 ipw2200: 450752249 0x00000034 279 ipw2200: 450752255 0x00000036 280 ipw2200: 450752263 0x0000005f 273 ipw2200: 450752266 0x00000008 32 ipw2200: 450752270 0x00ff0000 37 ipw2200: 450752280 0x00000006 35 ipw2200: 450752284 0x00000006 22 ipw2200: 450752290 0x8006c004 22 ipw2200: 450752306 0x00ff0000 37 ipw2200: 450752310 0x00000061 274 ipw2200: 450752336 0x00000034 279 ipw2200: 450752342 0x00000036 280 ipw2200: 450752345 0x0000003a 281 ipw2200: 450752350 0x0000003c 282 ipw2200: 450752354 0x00000000 206 ipw2200: 450752359 0x00000006 257 ipw2200: 450752375 0x00000038 20 ipw2200: 450752388 0x00000034 279 ipw2200: 450752393 0x00000036 280 ipw2200: 450752398 0x0000005f 273 ipw2200: 450752401 0x00000008 32 ipw2200: 450752405 0x00ff0000 37 ipw2200: 450752416 0x00000006 35 ipw2200: 450752419 0x00000006 22 ipw2200: 450752425 0x8006c104 22 ipw2200: 450752441 0x00ff0000 37 ipw2200: 450752445 0x00000061 274 ipw2200: 450752471 0x00000034 279 ipw2200: 450752477 0x00000036 280 ipw2200: 450752480 0x0000003a 281 ipw2200: 450752485 0x0000003c 282 ipw2200: 450752489 0x00000000 206 ipw2200: 450752494 0x0000002a 257 ipw2200: 450752502 0x00000034 279 ipw2200: 450752507 0x00000036 280 ipw2200: 450752517 0x0000000a 99 ipw2200: 450752545 0x00000034 279 ipw2200: 450752550 0x00000036 280 ipw2200: 450752554 0x0000003a 281 ipw2200: 450752559 0x0000003c 282 ipw2200: 450752562 0x00000000 206 ipw2200: 450752568 0x00000015 257 ipw2200: 450752572 0x00000380 117 ipw2200: 450751552 0x0000003a 281 ipw2200: 450751557 0x0000003c 282 ipw2200: 450751560 0x00000000 206 ipw2200: 450751566 0x00000012 257 ipw2200: 450751570 0x00000196 192 ipw2200: 450751579 0x00000014 20 ipw2200: 450751591 0x00000034 279 ipw2200: 450751596 0x00000036 280 ipw2200: 450751601 0x0000005f 273 ipw2200: 450751605 0x00000008 32 ipw2200: 450751608 0x00ff0000 37 ipw2200: 450751619 0x00000008 35 ipw2200: 450751622 0x00000008 22 ipw2200: 450751629 0x8008bc04 22 ipw2200: 450751644 0x00ff0000 37 ipw2200: 450751648 0x00000061 274 ipw2200: 450751674 0x00000034 279 ipw2200: 450751680 0x00000036 280 ipw2200: 450751683 0x0000003a 281 ipw2200: 450751689 0x0000003c 282 ipw2200: 450751692 0x00000000 206 ipw2200: 450751698 0x00000012 257 ipw2200: 450751702 0x00000196 192 ipw2200: 450751711 0x00000014 20 ipw2200: 450751723 0x00000034 279 ipw2200: 450751728 0x00000036 280 ipw2200: 450751733 0x0000005f 273 ipw2200: 450751736 0x00000008 32 ipw2200: 450751740 0x00ff0000 37 ipw2200: 450751751 0x00000008 35 ipw2200: 450751754 0x00000008 22 ipw2200: 450751760 0x8008bd04 22 ipw2200: 450751776 0x00ff0000 37 ipw2200: 450751780 0x00000061 274 ipw2200: 450751806 0x00000034 279 ipw2200: 450751812 0x00000036 280 Any ideas?
It looks like from the call trace that the atomic bug is happening in the path of code that restarts the driver after the radio is turned back on. Did you see this after pressing your rf kill switch? Did you enable the radio with the kill switch earlier?
Created an attachment (id=84) [details] Fix for scheduling while atomic bug Here is a patch that should fix the bug
I see the scheduling errors every time I use the kill switch.
Fixed in the next release, v0.14
VERIFIED FIXED with 0.15. Using the hardware RF switch no longer triggers atomic scheduling, and switching APs/channels no longer causes fatal errors.