Subject: kern/31906: ral(4) crashes kernel when unplugging ASUS card from Apple USB keyboard
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <ghen@telenet.be>
List: netbsd-bugs
Date: 10/24/2005 11:20:01
>Number:         31906
>Category:       kern
>Synopsis:       ral(4) crashes kernel when unplugging ASUS card from Apple USB keyboard
>Confidential:   no
>Severity:       critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 24 11:20:00 +0000 2005
>Originator:     Geert Hendrickx
>Release:        current as of 20051023
>Organization:
>Environment:
NetBSD mantis 3.99.10 NetBSD 3.99.10 (MANTIS) #4: Sun Oct 23 16:03:26 CEST 2005  geert@mantis:/cvs/obj/sys/arch/i386/compile/MANTIS i386
>Description:
I'm using the ral(4) driver with an ASUS WL-167G usb wireless card on my HP     
laptop running a 3.99.10 kernel.  It works fine when I plug it directly         
into one of the USB ports of my laptop, but not when I plug it into an USB      
port on my Apple USB keyboard (which also acts as an USB hub with two extra     
ports).  I get the following when plugging it in:                               
(output is not copy/pasted but manually copied so may not be exact)             
                                                                                
> ral0 at uhub5 port 3                                                          
> ral0: ASUS 802.11g WLAN Drive, rev 2.00/0.01, addr 4                          
> ral0: could not set configuration no                                          
                                                                                
And when unplugging:                                                            
                                                                                
> ral0: at uhub5 port 3 (addr 4) disconnected                                   
> uvm_fault (0x08ce9e0, 0, 0, 1) -> -0xe                                        
> kernel: supervisor trap page fault, code=0                                    
> stopped in pid 5.1 (usb1) at netbsd: ieee80211_remove_vop + 0x31: movl 0      
> (%eax),%ebx                                                                   
> db>                                                                           
                                                                                
The kernel enters the debugger but everything, incl keyboard, is completely     
frozen, hard reboot required...  However I can use other USB devices (such      
as mouse, flash memory) via that keyboard just fine.         
>How-To-Repeat:
Build a -current kernel with "ral* at uhub? port ?", plug ASUS ral(4) usb card 
into Apple usb keyboard and unplug again.  It crashes every time.  
>Fix: