Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jan 2003 03:51:00 -0800
From:      Darren Pilgrim <dmp@pantherdragon.org>
To:        freebsd-hackers@freebsd.org
Subject:   USB hub detach causing panic in 4.7p3
Message-ID:  <3E23F9A4.9030101@pantherdragon.org>

next in thread | raw e-mail | index | archive | help
I have a USB hub that's built into my Viewsonic PT775 monitor.  The hub 
probes during boot and post-boot attach as follows:

uhub1: vendor 0x0543 product 0x00ff, class 9/0, rev 1.00/0.00, addr 2
uhub1: 5 ports with 4 removable, self powered

The hub is connected and disconnected with the switching on and off of the 
monitor.  When the hub is disconnected, whether by unplugging it or turning 
off the monitor, I get a panic in 4.7p3 if there are no devices connected to 
the hub's downstream ports.  If there are devices connected to the 
downstream ports, the detach/reattach process works just fine.  I only have 
the one hub to test this issue on.  I can't say when the problem appeared as 
I hadn't used FreeBSD with this hub until a few weeks ago, and I hadn't 
turned the monitor off with nothing plugged into its USB ports until the 
12th.  Here is the console output from the panics caused by disconnecting 
the hub:

Fatal trap 12: page fault while in kernel mode
fault virtual addres    = 0x3
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc031fe04
stack pointer           = 0x10:0xc0250fb0
frame pointer           = 0x10:0xc0250fc4
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = Idle
interrupt mask          = bio
trap number             = 12
panic: page fault


syncing disks...

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x30
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc01c2498
stack pointer           = 0x10:0xc0250d98
frame pointer           = 0x10:0xc0250da0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = Idle
interrupt mask          = bio
trap number             = 12
panic: page fault

Later on, when I was testing various configurations and boot/plug/unplug 
patterns to (try to) fix/diagnose the problem, the debug information was 
different from the above, but the same for all the panics I induced while 
testing.  This is the output for those panics:

Fatal trap 12: page fault while in kernel mode
fault virtual addres    = 0x3
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc031fe04
stack pointer           = 0x10:0xc0250fb0
frame pointer           = 0x10:0xc0250fc4
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = Idle
interrupt mask          = bio
trap number             = 12
panic: page fault


syncing disks...

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x30
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc01c2498
stack pointer           = 0x10:0xc0250dd0
frame pointer           = 0x10:0xc0250dd8
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = Idle
interrupt mask          = bio
trap number             = 12
panic: page fault



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E23F9A4.9030101>