Workqueue locking...

David Woodhouse dwmw2 at
Mon May 21 22:48:28 EDT 2007

... or lack of it. If I unload the usb8xxx module while
libertas_association_worker() is running (it never seems to finish on
PPC, for reasons I have yet to establish), it dies horribly...

usb8xxx: URB in failure status: -108                                            
usb8xxx (INT): if_usb_receive():631 enter                                       
usb8xxx (INT): if_usb_receive():688 leave                                       
usb8xxx: 1-2:call remove card                                                   
libertas: libertas_remove_mesh():1042 enter                                     
libertas: libertas_remove_mesh():1059 leave                                     
libertas: libertas_remove_card():985 enter                                      
libertas: wake_pending_cmdnodes():968 enter                                     
libertas: libertas_prepare_and_send_command():1423 leave, ret 0                 
libertas: wlan_associate():135 leave, ret 0                                     
libertas: assoc_helper_essid():120 leave, ret 0                                 
libertas: ASSOC: assoication attempt unsuccessful, not connected.               
libertas: ASSOC: reconfiguration attempt unsuccessful: -1                       
libertas: libertas_association_worker():643 leave                               
libertas: libertas_association_worker():473 enter                               
libertas: #### Association Request: libertas_association_worker                 
       flags:      0x00000012                                                   
       SSID:       'media lab 802.11'                                           
       channel:    11                                                           
       band:       0                                                            
       mode:       2                                                            
       BSSID:      00:00:00:00:00:00                                            
       auth:       1                                                            
libertas: assoc_helper_mode():193 enter                                         
libertas: assoc_helper_mode():212 leave, ret 0                                  
libertas: assoc_helper_essid():72 enter                                         
libertas: New SSID requested: media lab 802.11                                  
libertas: libertas_send_specific_SSID_scan():1446 enter                         
libertas: wlan_scan_networks():796 enter                                        
libertas: Scan: Creating full region channel list                               
Unable to handle kernel paging request for data at address 0x0000002c           
Faulting instruction address: 0xc952dba0                                        
Oops: Kernel access of bad area, sig: 11 [#1]                                   
Modules linked in: usb8xxx(U) libertas(U) autofs4(U) hidp(U) rfcomm(U) l2cap(U))
NIP: C952DBA0 LR: C952DB90 CTR: C0254700                                        
REGS: c11dbc60 TRAP: 0300   Not tainted  (2.6.21-1.3167.fc7)                    
MSR: 00009032 <EE,ME,IR,DR>  CR: 42002022  XER: 00000000                        
DAR: 0000002C, DSISR: 20000000                                                  
TASK = c113c6d0[1787] 'libertas_assoc' THREAD: c11da000                         
GPR00: 0000002C C11DBD10 C113C6D0 00000000 C1105E69 00000001 00000000 00000017  
GPR08: C0579800 00000001 00000017 C0254700 2E2B8A40 7FEFFFFF 00000001 0000000E  
GPR16: 00000001 C1859600 C1105000 00000000 00000002 00000000 C3F7A740 00000000  
GPR24: 0000000B C3F7A760 C11A7400 00000000 C11DBD9C 00000000 C1105D4C C185964E  
NIP [C952DBA0] wlan_scan_networks+0x684/0xbc8 [libertas]                        
LR [C952DB90] wlan_scan_networks+0x674/0xbc8 [libertas]                         
Call Trace:                                                                     
[C11DBD10] [C952DB88] wlan_scan_networks+0x66c/0xbc8 [libertas] (unreliable)    
[C11DBD80] [C952E798] libertas_send_specific_SSID_scan+0xb8/0x1ac [libertas]    
[C11DBF10] [C953BA18] libertas_association_worker+0x1118/0x6328 [libertas]      
[C11DBF50] [C00450F0] run_workqueue+0xb4/0x164                                  
[C11DBF70] [C0045968] worker_thread+0x124/0x15c                                 
[C11DBFC0] [C00493B8] kthread+0xc4/0x100                                        
[C11DBFF0] [C0013FA0] kernel_thread+0x44/0x60                                   
Instruction dump:                                                               
7ce00028 7ce74b78 7ce0012d 40a2fff4 807a0034 4800e365 83ba0094 4800e39d         
2f830000 409e001c 381d002c 39200001 <7ce00028> 7ce74b78 7ce0012d 40a2fff4       
libertas: wlan_dev_close():319 enter                                            
libertas: wlan_dev_close():324 leave                              


More information about the libertas-dev mailing list