panic: uhci_abort_xfer: not in process context (was Re: uplcom / ucom problems on RELENG_5)

Mike Tancsa mike at sentex.net
Sat Apr 2 06:29:45 PST 2005


At 08:16 AM 02/04/2005, Ian Dowse wrote:
>In message <6.2.1.2.0.20050331074641.04f72eb8 at 64.7.153.2>, Mike Tancsa writes:
> >panic: uhci_abort_xfer: not in process context
>...
> >#6  0xc04d2c1f in usbd_abort_pipe (pipe=0xc19c7e00)
> >#7  0xc04c3cf5 in ucomstopread (sc=0x0)
> >#8  0xc04c38ba in ucomstop (tp=0xc171c000, flag=1)
> >#9  0xc054b393 in ttyflush (tp=0xc171c000, rw=1)
> >#10 0xc054974d in ttyinput (c=26, tp=0xc171c000)
>
>In this case I wonder if the transfer needs to be aborted at all,
>since it is just restarted immediately afterwards. Mike, maybe you
>could try the following patch? Sorry, I haven't tested this, so I
>may be missing something obvious.

Yes, for sure I will try.  One other note, I have been hammering away on a 
HEAD box for 36hrs now and no panic and even better, NO lockups on the USB 
serial port.  The hardware is a little different, but I dont think that is 
the issue.

[hifn]% dmesg
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
FreeBSD 6.0-CURRENT #0: Fri Apr  1 02:20:32 EST 2005
     mdtancsa at hifn.sentex.net:/usr/obj/usr/src/sys/recycle
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(TM) CPU                1000MHz (1002.28-MHz 686-class 
CPU)
   Origin = "GenuineIntel"  Id = 0x6b1  Stepping = 1
   Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 528416768 (503 MB)
avail memory = 507805696 (484 MB)
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <AOPEN AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU (3 Cx states)> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 
0xcf8-0xcff,0x4000-0x407f,0x4080-0x40ff,0x5000-0x500f,0x6000-0x607f on acpi0
pci_link0: <ACPI PCI Link LNKA> irq 12 on acpi0
pci_link1: <ACPI PCI Link LNKB> irq 11 on acpi0
pci_link2: <ACPI PCI Link LNKC> irq 10 on acpi0
pci_link3: <ACPI PCI Link LNKD> irq 5 on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 8601 (Apollo ProMedia/PLE133Ta) host to PCI bridge> mem 
0xe0000000-0xe3ffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686B UDMA100 controller> port 
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xc000-0xc00f at device 7.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
uhci0: <VIA 83C572 USB controller> port 0xc400-0xc41f irq 5 at device 7.2 
on pci0
uhci0: [GIANT-LOCKED]
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xc800-0xc81f irq 5 at device 7.3 
on pci0
uhci1: [GIANT-LOCKED]
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pci0: <bridge> at device 7.4 (no driver attached)
pci0: <multimedia, audio> at device 7.5 (no driver attached)
hifn0 mem 0xe810a000-0xe810afff,0xe8108000-0xe8109fff,0xe8100000-0xe8107fff 
irq 12 at device 9.0 on pci0
hifn0: Hifn 7955, rev 0, 32KB dram, pll=0x800<pci clk, 4x mult>
fxp0: <Intel 82557 Pro/100 Ethernet> port 0xdc00-0xdc1f mem 
0xe810b000-0xe810bfff,0xe8000000-0xe80fffff irq 11 at device 10.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:a0:c9:5e:e2:94
rl0: <RealTek 8139 10/100BaseTX> port 0xe000-0xe0ff mem 
0xe810c000-0xe810c0ff irq 10 at device 15.0 on pci0
miibus1: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus1
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:50:fc:c8:29:94
rl1: <RealTek 8139 10/100BaseTX> port 0xe400-0xe4ff mem 
0xe810d000-0xe810d0ff irq 11 at device 17.0 on pci0
miibus2: <MII bus> on rl1
rlphy1: <RealTek internal media interface> on miibus2
rlphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl1: Ethernet address: 00:01:80:0d:c0:d1
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: <Standard parallel printer port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcbfff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ucom0: FTDI USB FAST SERIAL ADAPTER, rev 2.00/5.00, addr 2
Timecounter "TSC" frequency 1002277712 Hz quality 800
Timecounters tick every 1.000 msec
Fast IPsec: Initialized Security Association Processing.
ipfw2 initialized, divert loadable, rule-based forwarding enabled, default 
to accept, logging limited to 100 packets/entry by default
ad0: 38166MB <Seagate ST340014A 3.06> at ata0-master UDMA100
ATA PseudoRAID loaded
Trying to mount root from ufs:/dev/ad0s1a
rl0: link state changed to DOWN
[hifn]%

This is also with the uftdi driver

[hifn]# usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), 
VIA(0x0000), rev 1.00
  port 1 powered
  port 2 addr 2: full speed, power 90 mA, config 1, USB FAST SERIAL 
ADAPTER(0x6010), FTDI(0x0403), rev 5.00
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), 
VIA(0x0000), rev 1.00
  port 1 powered
  port 2 powered
[hifn]#



>Ian
>
>Index: dev/usb/ucom.c
>===================================================================
>RCS file: /dump/FreeBSD-CVS/src/sys/dev/usb/ucom.c,v
>retrieving revision 1.51.2.2
>diff -u -r1.51.2.2 ucom.c
>--- dev/usb/ucom.c      30 Jan 2005 01:00:10 -0000      1.51.2.2
>+++ dev/usb/ucom.c      2 Apr 2005 13:10:27 -0000
>@@ -929,11 +929,13 @@
>
>         DPRINTF(("ucomstop: %d\n", flag));
>
>+#if 0
>         if (flag & FREAD) {
>                 DPRINTF(("ucomstop: read\n"));
>                 ucomstopread(sc);
>                 ucomstartread(sc);
>         }
>+#endif
>
>         if (flag & FWRITE) {
>                 DPRINTF(("ucomstop: write\n"));



More information about the freebsd-usb mailing list