Re: panic at ehci_abort_xfer

From: Paul B. Mahol <onemda_at_gmail.com>
Date: Thu, 2 Oct 2008 17:33:31 +0200
On 10/2/08, Boris Samorodov <bsam_at_ipt.ru> wrote:
> "Paul B. Mahol" <onemda_at_gmail.com> writes:
>> On 10/2/08, Boris Samorodov <bsam_at_ipt.ru> wrote:
>>> Hello All,
>>>
>>>
>>> I've got a panic at today's CURRENT/i386 after inserting an USB
>>> Linksys Wifi Adapter (the adapter had been scanning):
>>
>> Which driver?
>
> rum
>
>> This is first time it happened on same hardware, and it was working
>> without problems on older(how much) CURRENT?
>> Or, this is first time you have insterted that adapter in CURRENT?
>
> This is a new EeePC-1000 (Atom 1.6Ghz with hyperthreading enabled)
> and new system. Since no network cards (neither Eth nore Wifi) is
> currently supported I try to use an USB Linksys Adapter WUSB54GC.
>
>> Look in usb/124758 maybe it is same bug.
>
> Yes, very much alike.

ehci(4) is buggy. Use usb2_wlan.ko module from usb2. (Need to build
custom kernel without usb, and than load usb2_[core,controller,wlan])
usb2 should be committed soon to HEAD.
IMHO old usb code should be removed ASAP.

>>> -----
>>> GNU gdb 6.1.1 [FreeBSD]
>>> Copyright 2004 Free Software Foundation, Inc.
>>> GDB is free software, covered by the GNU General Public License, and you
>>> are
>>> welcome to change it and/or distribute copies of it under certain
>>> conditions.
>>> Type "show copying" to see the conditions.
>>> There is absolutely no warranty for GDB.  Type "show warranty" for
>>> details.
>>> This GDB was configured as "i386-marcel-freebsd"...
>>>
>>> Unread portion of the kernel message buffer:
>>>
>>> Fatal trap 12: page fault while in kernel mode
>>> cpuid = 1; apic id = 01
>>> fault virtual address	= 0x38
>>> fault code		= supervisor read, page not present
>>> instruction pointer	= 0x20:0xc072fb57
>>> stack pointer	        = 0x28:0xc3ed6c94
>>> frame pointer	        = 0x28:0xc3ed6ccc
>>> 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		= 15 (usbtask-hc)
>>> trap number		= 12
>>> panic: page fault
>>> cpuid = 1
>>> Uptime: 8m11s
>>> Physical memory: 1003 MB
>>> Dumping 54 MB: 39 23 7
>>> [...]
>>> #0  doadump () at pcpu.h:221
>>> 	in pcpu.h
>>> (kgdb) list *0xc072fb57
>>> 0xc072fb57 is in ehci_abort_xfer (/usr/src/sys/dev/usb/ehci.c:2959).
>>> 2954			 * (if there is one). We only need to do this if
>>> 2955			 * it was previously pointing to us.
>>> 2956			 */
>>> 2957			for (sqtd = exfer->sqtdstart; ; sqtd = sqtd->nextqtd) {
>>> 2958				if (cur == sqtd->physaddr) {
>>> 2959					hit++;
>>> 2960				}
>>> 2961				if (sqtd == exfer->sqtdend)
>>> 2962					break;
>>> 2963			}
>>> (kgdb) backtrace
>>> #0  doadump () at pcpu.h:221
>>> #1  0xc07fdfbc in boot (howto=260) at
>>> /usr/src/sys/kern/kern_shutdown.c:420
>>> #2  0xc07fe2c2 in panic (fmt=) at /usr/src/sys/kern/kern_shutdown.c:576
>>> #3  0xc0b27983 in trap_fatal (frame=0xc3ed6c54, eva=56)
>>>     at /usr/src/sys/i386/i386/trap.c:943
>>> #4  0xc0b27c00 in trap_pfault (frame=0xc3ed6c54, usermode=0, eva=56)
>>>     at /usr/src/sys/i386/i386/trap.c:856
>>> #5  0xc0b2860a in trap (frame=0xc3ed6c54) at
>>> /usr/src/sys/i386/i386/trap.c:536
>>> #6  0xc0b0c59b in calltrap () at /usr/src/sys/i386/i386/exception.s:165
>>> #7  0xc072fb57 in ehci_abort_xfer (xfer=) at
>>> /usr/src/sys/dev/usb/ehci.c:2959
>>> #8  0xc0731360 in ehci_timeout_task (addr=0xc482ee00)
>>>     at /usr/src/sys/dev/usb/ehci.c:3112
>>> #9  0xc07644b1 in usb_task_thread (arg=0xc0d05dc0)
>>>     at /usr/src/sys/dev/usb/usb.c:485
>>> #10 0xc07dc633 in fork_exit (callout=0xc0764400 <usb_task_thread>,
>>>     arg=0xc0d05dc0, frame=0xc3ed6d38) at
>>> /usr/src/sys/kern/kern_fork.c:810
>>> #11 0xc0b0c610 in fork_trampoline () at
>>> /usr/src/sys/i386/i386/exception.s:270
>>> (kgdb) quit
>>> -----
>>>
>>>
>>> WBR
>>> --
>>> Boris Samorodov (bsam)
>>> Research Engineer, http://www.ipt.ru Telephone & Internet SP
>>> FreeBSD committer, http://www.FreeBSD.org The Power To Serve
>>> _______________________________________________
>>> freebsd-current_at_freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>>> To unsubscribe, send any mail to
>>> "freebsd-current-unsubscribe_at_freebsd.org"
>>>
>
> WBR
> --
> bsam
> Boris Samorodov (bsam)
> Research Engineer, http://www.ipt.ru Telephone & Internet SP
> FreeBSD committer, http://www.FreeBSD.org The Power To Serve
>
Received on Thu Oct 02 2008 - 13:33:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:36 UTC