Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Apr 2002 10:26:32 +1000 (EST)
From:      Tony Maher <tonym@biolateral.com.au>
To:        stable@freebsd.org
Subject:   suspend and missing usb mouse panics
Message-ID:  <200204050026.g350QWfw030070@dt.home>

next in thread | raw e-mail | index | archive | help
Hello,

I have had this panic occur on random basis over the past few months
(and maybe longer) and finally put 2 and 2 together.

I suspend laptop using zzz, then remove external ps2 kbd and usb mouse.
Return home, plug in identical ps2 kdb and usb mouse power up - no problems.

Suspend as above but now I power on laptop while on train and no external 
keyboard or mouse.
After 5-30mins laptop will often freeze requiring pressing reset switch.

From a crash dump it looked like problem with usb.
Testing - there were lots of interrupts generated by uhci0 when the laptop
was resumed without the usb mouse (systat -vm showed around 100 per sec).
Resuming with the usb mouse no interrupts (as expected).

Obviously usb system thinks mouse is still there (it didn't see it removed)
so keeps trying to do something with it.
Simple work around - always remove usb mouse *before* suspending.

I do not know if this is something that can be fixed (how can system know
about hardware changes while it is suspended - test for devices after
resume?).

Laptop Dell 3500 running latest 4-stable.
Abbreviated output from last crash.

                       --------------------------
IdlePTD at phsyical address 0x0049c000
initial pcb at physical address 0x003d3040
panicstr: Removing other than first element
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x70
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0192720
stack pointer           = 0x10:0xc037c28c
frame pointer           = 0x10:0xc037c2b0
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          = net tty bio cam 
panic: from debugger
panic: from debugger
Uptime: 1h28m12s

---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
487             if (dumping++) {
(kgdb) where
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1  0xc018e6d3 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:316
#2  0xc018eb11 in panic (fmt=0xc035f740 "Removing other than first element")
    at /usr/src/sys/kern/kern_shutdown.c:595
#3  0xc02a79c4 in usb_transfer_complete (xfer=0xc169f300)
    at /usr/src/sys/dev/usb/usbdi.c:823
#4  0xc02a1c03 in uhci_idone (ii=0xc1158040)
    at /usr/src/sys/dev/usb/uhci.c:1159
#5  0xc02a1adc in uhci_check_intr (sc=0xc114a000, ii=0xc1158040)
    at /usr/src/sys/dev/usb/uhci.c:1053
#6  0xc02a1a47 in uhci_intr (arg=0xc114a000) at
/usr/src/sys/dev/usb/uhci.c:990
#7  0x282576da in ?? ()
#8  0x28257381 in ?? ()
--------trimmed--------

--
tonym

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




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