* a couple of USB related Oopses
@ 2002-03-05 18:46 James Curbo
2002-03-05 19:23 ` Greg KH
0 siblings, 1 reply; 9+ messages in thread
From: James Curbo @ 2002-03-05 18:46 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-usb-devel
[-- Attachment #1: Type: text/plain, Size: 865 bytes --]
[not subscribed to either list, cc: me please]
I got these today while trying to print to my HP Deskjet 845c USB printer.
I'm running 2.5.5-dj2. I think the first one came from when I booted,
and the second one came from when I unplugged the USB cable to my
printer and plugged it back in. My motherboard is a K7T Turbo, VIA KT133
chipset (UHCI controller). I'm using the alternate UHCI driver (JE), I
will try recompiling with the normal driver later and see if the problem
still occurs. (this is the first time I've really played around with the
USB drivers!) The ksymoops outputs, my dmesg, and my
/proc/dev/usb/devices are attached.
--
James Curbo <jcurbo@acm.org> <jc108788@rc.hsu.edu>
Undergraduate Computer Science, Henderson State University
PGP Keys at <http://reddie.henderson.edu/~curboj/>
Public Keys: PGP - 1024/0x76E2061B GNUPG - 1024D/0x3EEA7288
[-- Attachment #2: ksymoops-output-1.txt --]
[-- Type: text/plain, Size: 2823 bytes --]
ksymoops 2.4.3 on i686 2.5.5-dj2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.5.5-dj2/ (default)
-m /boot/System.map-2.5.5-dj2 (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
Warning (compare_maps): ksyms_base symbol idle_cpu_R__ver_idle_cpu not found in System.map. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol vmalloc_to_page_R__ver_vmalloc_to_page not found in System.map. Ignoring ksyms_base entry
Unable to handle kernel NULL pointer dereference at virtual address 000000cd
c021caef
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c021caef>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: 00000001 ebx: d78932c0 ecx: d78932dc edx: c99a2000
esi: 00000000 edi: ccedc440 ebp: ffffffed esp: c99a3f00
ds: 0018 es: 0018 ss: 0018
Stack: c022e11a d78932dc 000001f0 c030a860 c030b0e0 ccedc440 c021e868 d6bec0c0
ccedc440 c99a2000 ccedc440 00000000 d6bec0c0 c013761f d6bec0c0 ccedc440
ccedc440 d6bec0c0 00000000 c136e380 c0136051 d6bec0c0 ccedc440 00000000
Call Trace: [<c022e11a>] [<c021e868>] [<c013761f>] [<c0136051>] [<c0135f62>]
[<c0136347>] [<c0108a1f>]
Code: 8b 80 cc 00 00 00 85 c0 74 17 8b 50 18 85 d2 74 10 8b 44 24
>>EIP; c021caee <usb_submit_urb+e/40> <=====
Trace; c022e11a <usblp_open+ba/110>
Trace; c021e868 <usb_open+68/d0>
Trace; c013761e <chrdev_open+5e/a0>
Trace; c0136050 <dentry_open+e0/190>
Trace; c0135f62 <filp_open+52/60>
Trace; c0136346 <sys_open+36/80>
Trace; c0108a1e <syscall_call+6/a>
Code; c021caee <usb_submit_urb+e/40>
00000000 <_EIP>:
Code; c021caee <usb_submit_urb+e/40> <=====
0: 8b 80 cc 00 00 00 mov 0xcc(%eax),%eax <=====
Code; c021caf4 <usb_submit_urb+14/40>
6: 85 c0 test %eax,%eax
Code; c021caf6 <usb_submit_urb+16/40>
8: 74 17 je 21 <_EIP+0x21> c021cb0e <usb_submit_urb+2e/40>
Code; c021caf8 <usb_submit_urb+18/40>
a: 8b 50 18 mov 0x18(%eax),%edx
Code; c021cafa <usb_submit_urb+1a/40>
d: 85 d2 test %edx,%edx
Code; c021cafc <usb_submit_urb+1c/40>
f: 74 10 je 21 <_EIP+0x21> c021cb0e <usb_submit_urb+2e/40>
Code; c021cafe <usb_submit_urb+1e/40>
11: 8b 44 24 00 mov 0x0(%esp,1),%eax
3 warnings issued. Results may not be reliable.
[-- Attachment #3: ksymoops-output-2.txt --]
[-- Type: text/plain, Size: 3127 bytes --]
ksymoops 2.4.3 on i686 2.5.5-dj2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.5.5-dj2/ (default)
-m /boot/System.map-2.5.5-dj2 (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
Warning (compare_maps): ksyms_base symbol idle_cpu_R__ver_idle_cpu not found in System.map. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol vmalloc_to_page_R__ver_vmalloc_to_page not found in System.map. Ignoring ksyms_base entry
Unable to handle kernel NULL pointer dereference at virtual address 00000000
c0115089
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c0115089>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010006
eax: d7d56000 ebx: 00000000 ecx: d7d57f30 edx: d78932d4
esi: d7d57f28 edi: 00000202 ebp: c13f2c00 esp: d7d57f08
ds: 0018 es: 0018 ss: 0018
Stack: d7d56000 d7d57f28 d78932c8 c01075d5 d78932c0 d78932c8 c030b1e0 00000000
00000001 c13f2c00 d78932d4 00000000 c01077e4 d78932c8 d78a01c0 c022ee10
c022ef5c c030b1c0 d78931c0 c021d971 d7d4da00 d78932c0 00000100 00000004
Call Trace: [<c01075d5>] [<c01077e4>] [<c022ee10>] [<c022ef5c>] [<c021d971>]
[<c021fd1e>] [<c021f9fd>] [<c02200a9>] [<c0220267>] [<c0107048>]
Code: 89 0b ff 48 10 8b 40 08 a8 08 74 0b e8 56 ee ff ff 8d b6 00
>>EIP; c0115088 <add_wait_queue_exclusive+28/50> <=====
Trace; c01075d4 <__down+44/e0>
Trace; c01077e4 <__down_failed+8/c>
Trace; c022ee10 <usblp_disconnect+0/c4>
Trace; c022ef5c <.text.lock.printer+88/9c>
Trace; c021d970 <usb_disconnect+90/160>
Trace; c021fd1e <usb_hub_port_connect_change+4e/2c0>
Trace; c021f9fc <usb_hub_port_status+6c/80>
Trace; c02200a8 <usb_hub_events+118/2a0>
Trace; c0220266 <usb_hub_thread+36/90>
Trace; c0107048 <kernel_thread+28/40>
Code; c0115088 <add_wait_queue_exclusive+28/50>
00000000 <_EIP>:
Code; c0115088 <add_wait_queue_exclusive+28/50> <=====
0: 89 0b mov %ecx,(%ebx) <=====
Code; c011508a <add_wait_queue_exclusive+2a/50>
2: ff 48 10 decl 0x10(%eax)
Code; c011508c <add_wait_queue_exclusive+2c/50>
5: 8b 40 08 mov 0x8(%eax),%eax
Code; c0115090 <add_wait_queue_exclusive+30/50>
8: a8 08 test $0x8,%al
Code; c0115092 <add_wait_queue_exclusive+32/50>
a: 74 0b je 17 <_EIP+0x17> c011509e <add_wait_queue_exclusive+3e/50>
Code; c0115094 <add_wait_queue_exclusive+34/50>
c: e8 56 ee ff ff call ffffee67 <_EIP+0xffffee67> c0113eee <schedule+24e/250>
Code; c0115098 <add_wait_queue_exclusive+38/50>
11: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
3 warnings issued. Results may not be reliable.
[-- Attachment #4: dmesg.txt --]
[-- Type: text/plain, Size: 10396 bytes --]
Linux version 2.5.5-dj2 (root@carthage) (gcc version 2.95.4 20011002 (Debian prerelease)) #1 Wed Feb 27 01:08:00 CST 2002
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000017ff0000 (usable)
BIOS-e820: 0000000017ff0000 - 0000000017ff3000 (ACPI NVS)
BIOS-e820: 0000000017ff3000 - 0000000018000000 (ACPI data)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
383MB LOWMEM available.
On node 0 totalpages: 98288
zone(0): 4096 pages.
zone(1): 94192 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/hda6 ro mem=nopentium hdd=ide-scsi
ide_setup: hdd=ide-scsi
Initializing CPU#0
Detected 899.588 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1795.68 BogoMIPS
Memory: 386348k/393152k available (1564k kernel code, 6416k reserved, 548k data, 212k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Dentry-cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes)
CPU: Before vendor init, caps: 0183f9ff c1c7f9ff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After vendor init, caps: 0183f9ff c1c7f9ff 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0183f9ff c1c7f9ff 00000000 00000000
CPU: Common caps: 0183f9ff c1c7f9ff 00000000 00000000
CPU: AMD Athlon(tm) processor stepping 02
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
PCI: PCI BIOS revision 2.10 entry at 0xfb160, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Disabling broken memory write queue: [55] 89->09
Unknown bridge resource 0: assuming transparent
PCI: Using IRQ router VIA [1106/0686] at 00:07.0
Applying VIA southbridge workaround.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Starting kswapd
BIO: pool of 256 setup, 14Kb (56 bytes/bio)
biovec: init pool 0, 1 entries, 12 bytes
biovec: init pool 1, 4 entries, 48 bytes
biovec: init pool 2, 16 entries, 192 bytes
biovec: init pool 3, 64 entries, 768 bytes
biovec: init pool 4, 128 entries, 1536 bytes
biovec: init pool 5, 256 entries, 3072 bytes
Journalled Block Device driver loaded
NTFS driver v1.1.22 [Flags: R/O]
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport_pc: Via 686A parallel port: io=0x378
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
lp0: using parport0 (polling).
lp0: console ready
block: 256 slots per queue, batch=32
Uniform Multi-Platform E-IDE driver Revision: 6.32
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller on PCI slot 00:07.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci00:07.1
ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:DMA
hda: WDC WD400BB-00AUA1, ATA DISK drive
hdb: CD-ROM Drive/G6D, ATAPI CD/DVD-ROM drive
hdc: CREATIVE DVD-ROM DVD1241E, ATAPI CD/DVD-ROM drive
hdd: SAMSUNG CD-R/RW DRIVE SW-224B, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
blk: queue c0373984, I/O limit 4095Mb (mask 0xffffffff)
hda: 78165360 sectors (40021 MB) w/2048KiB Cache, CHS=4865/255/63, UDMA(100)
hdb: ATAPI 56X CD-ROM drive, 128kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
hdc: ATAPI 40X DVD-ROM drive, 512kB Cache, UDMA(33)
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 >
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Linux Tulip driver version 1.1.11 (Feb 08, 2002)
PCI: Found IRQ 11 for device 00:09.0
IRQ routing conflict for 00:07.5, have irq 9, want irq 11
eth0: ADMtek Comet rev 17 at 0xe800, 00:03:6D:1F:0B:AC, IRQ 11.
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 321M
agpgart: Detected Via Apollo Pro KT133 chipset
agpgart: AGP aperture is 64M @ 0xd8000000
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: SAMSUNG Model: CD-R/RW SW-224B Rev: R200
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
usb.c: registered new driver usbfs
usb.c: registered new driver hub
uhci.c: USB Universal Host Controller Interface driver v1.1
PCI: Found IRQ 9 for device 00:07.2
IRQ routing conflict for 00:07.2, have irq 10, want irq 9
IRQ routing conflict for 00:07.3, have irq 10, want irq 9
PCI: Sharing IRQ 9 with 00:0e.0
uhci.c: USB UHCI at I/O 0xd400, IRQ 10
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found at /
hub.c: 2 ports detected
PCI: Found IRQ 9 for device 00:07.3
IRQ routing conflict for 00:07.2, have irq 10, want irq 9
IRQ routing conflict for 00:07.3, have irq 10, want irq 9
PCI: Sharing IRQ 9 with 00:0e.0
uhci.c: USB UHCI at I/O 0xd800, IRQ 10
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found at /
hub.c: 2 ports detected
usb.c: registered new driver hid
hid-core.c: v1.31:USB HID core driver
usb.c: registered new driver usblp
printer.c: v0.10:USB Printer Device Class driver
mice: PS/2 mouse device common for all mice
input.c: calling /sbin/hotplug input [HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add PRODUCT=11/1/2/ab02 NAME=AT Set 2 keyboard]
input.c: hotplug returned -2
input: AT Set 2 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1
spurious 8259A interrupt: IRQ7.
serio: i8042 AUX port at 0x60,0x64 irq 12
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
ip_conntrack (3071 buckets, 24568 max)
ip_tables: (C) 2000-2002 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,6), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 212k freed
Adding Swap: 289128k swap-space (priority -1)
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,6), internal journal
hub.c: new USB device on bus 1 path /1, assigned address 2
input.c: calling /sbin/hotplug input [HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add PRODUCT=3/46d/c00b/610 NAME=Logitech USB Mouse]
input.c: hotplug returned -2
input: USB HID v1.10 Mouse [Logitech USB Mouse] on usb1:1
hid-core.c: ctrl urb status -32 received
hub.c: new USB device on bus 1 path /2, assigned address 3
printer.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 0
Creative EMU10K1 PCI Audio Driver, version 0.18, 01:16:25 Feb 27 2002
PCI: Found IRQ 9 for device 00:0e.0
IRQ routing conflict for 00:07.2, have irq 10, want irq 9
IRQ routing conflict for 00:07.3, have irq 10, want irq 9
emu10k1: EMU10K1 rev 8 model 0x8040 found, IO at 0xec00-0xec1f, IRQ 9
ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23)
hub.c: new USB device on bus 2 path /1, assigned address 2
input.c: calling /sbin/hotplug input [HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add PRODUCT=3/45e/1b/a00 NAME=Microsoft SideWinder Force Feedback 2 Joystick]
input.c: hotplug returned -2
input: USB HID v1.00 Joystick [Microsoft SideWinder Force Feedback 2 Joystick] on usb2:1
hid-core.c: ctrl urb status -32 received
FAT: Using codepage default
FAT: Using IO charset default
lp0: compatibility mode
PCI: Found IRQ 9 for device 00:0e.0
IRQ routing conflict for 00:07.2, have irq 10, want irq 9
IRQ routing conflict for 00:07.3, have irq 10, want irq 9
Unable to handle kernel NULL pointer dereference at virtual address 000000cd
printing eip:
c021caef
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c021caef>] Not tainted
EFLAGS: 00010202
eax: 00000001 ebx: d78932c0 ecx: d78932dc edx: c99a2000
esi: 00000000 edi: ccedc440 ebp: ffffffed esp: c99a3f00
ds: 0018 es: 0018 ss: 0018
Process usb (pid: 4283, threadinfo=c99a2000 task=d1e20700)
Stack: c022e11a d78932dc 000001f0 c030a860 c030b0e0 ccedc440 c021e868 d6bec0c0
ccedc440 c99a2000 ccedc440 00000000 d6bec0c0 c013761f d6bec0c0 ccedc440
ccedc440 d6bec0c0 00000000 c136e380 c0136051 d6bec0c0 ccedc440 00000000
Call Trace: [<c022e11a>] [<c021e868>] [<c013761f>] [<c0136051>] [<c0135f62>]
[<c0136347>] [<c0108a1f>]
Code: 8b 80 cc 00 00 00 85 c0 74 17 8b 50 18 85 d2 74 10 8b 44 24
<3>input.c: calling hotplug from interrupt
input.c: calling hotplug from interrupt
input: AT Set 2 keyboard on isa0060/serio0
usb.c: USB disconnect on device 3
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
c0115089
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c0115089>] Not tainted
EFLAGS: 00010006
eax: d7d56000 ebx: 00000000 ecx: d7d57f30 edx: d78932d4
esi: d7d57f28 edi: 00000202 ebp: c13f2c00 esp: d7d57f08
ds: 0018 es: 0018 ss: 0018
Process khubd (pid: 9, threadinfo=d7d56000 task=c13f2c00)
Stack: d7d56000 d7d57f28 d78932c8 c01075d5 d78932c0 d78932c8 c030b1e0 00000000
00000001 c13f2c00 d78932d4 00000000 c01077e4 d78932c8 d78a01c0 c022ee10
c022ef5c c030b1c0 d78931c0 c021d971 d7d4da00 d78932c0 00000100 00000004
Call Trace: [<c01075d5>] [<c01077e4>] [<c022ee10>] [<c022ef5c>] [<c021d971>]
[<c021fd1e>] [<c021f9fd>] [<c02200a9>] [<c0220267>] [<c0107048>]
Code: 89 0b ff 48 10 8b 40 08 a8 08 74 0b e8 56 ee ff ff 8d b6 00
[-- Attachment #5: usb-devices.txt --]
[-- Type: text/plain, Size: 1592 bytes --]
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI-alt Root Hub
S: SerialNumber=d800
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=045e ProdID=001b Rev= a.00
S: Manufacturer=Microsoft
S: Product=SideWinder Force Feedback 2 Joystick
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl= 1ms
E: Ad=02(O) Atr=03(Int.) MxPS= 16 Ivl= 4ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc=118/900 us (13%), #Int= 1, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI-alt Root Hub
S: SerialNumber=d400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=046d ProdID=c00b Rev= 6.10
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl= 10ms
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: a couple of USB related Oopses
2002-03-05 18:46 a couple of USB related Oopses James Curbo
@ 2002-03-05 19:23 ` Greg KH
2002-03-05 19:33 ` James Curbo
0 siblings, 1 reply; 9+ messages in thread
From: Greg KH @ 2002-03-05 19:23 UTC (permalink / raw)
To: James Curbo; +Cc: linux-kernel, linux-usb-devel
On Tue, Mar 05, 2002 at 12:46:04PM -0600, James Curbo wrote:
> [not subscribed to either list, cc: me please]
>
> I got these today while trying to print to my HP Deskjet 845c USB printer.
> I'm running 2.5.5-dj2.
Can you reproduce these with the 2.4.6-pre2 kernel?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: a couple of USB related Oopses
2002-03-05 19:23 ` Greg KH
@ 2002-03-05 19:33 ` James Curbo
2002-03-05 19:37 ` Greg KH
0 siblings, 1 reply; 9+ messages in thread
From: James Curbo @ 2002-03-05 19:33 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel, linux-usb-devel
On Mar 05, Greg KH wrote:
> Can you reproduce these with the 2.4.6-pre2 kernel?
>
> thanks,
>
> greg k-h
I presume you mean 2.5.6-pre2, as 2.4 is way past that.. I will try it
tonight after I get in from work...
--
James Curbo <jcurbo@acm.org> <jc108788@rc.hsu.edu>
Undergraduate Computer Science, Henderson State University
PGP Keys at <http://reddie.henderson.edu/~curboj/>
Public Keys: PGP - 1024/0x76E2061B GNUPG - 1024D/0x3EEA7288
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: a couple of USB related Oopses
2002-03-05 19:33 ` James Curbo
@ 2002-03-05 19:37 ` Greg KH
2002-03-06 4:02 ` James Curbo
2002-03-06 5:03 ` James Curbo
0 siblings, 2 replies; 9+ messages in thread
From: Greg KH @ 2002-03-05 19:37 UTC (permalink / raw)
To: James Curbo; +Cc: linux-kernel, linux-usb-devel
On Tue, Mar 05, 2002 at 01:33:17PM -0600, James Curbo wrote:
> On Mar 05, Greg KH wrote:
> > Can you reproduce these with the 2.4.6-pre2 kernel?
> >
> > thanks,
> >
> > greg k-h
>
> I presume you mean 2.5.6-pre2, as 2.4 is way past that.. I will try it
> tonight after I get in from work...
Yes, sorry about that :)
greg k-h
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: a couple of USB related Oopses
2002-03-05 19:37 ` Greg KH
@ 2002-03-06 4:02 ` James Curbo
2002-03-06 5:03 ` James Curbo
1 sibling, 0 replies; 9+ messages in thread
From: James Curbo @ 2002-03-06 4:02 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel, linux-usb-devel
[-- Attachment #1: Type: text/plain, Size: 843 bytes --]
OK, after some compilation problems with 2.5.6-pre2 (ide-scsi wouldn't
compile, then OSS sound had an error too.. both not essential to me), I
got it up, and still got a panic. It's attached. Should I try the other
UHCI driver now?
On Mar 05, Greg KH wrote:
> On Tue, Mar 05, 2002 at 01:33:17PM -0600, James Curbo wrote:
> > On Mar 05, Greg KH wrote:
> > > Can you reproduce these with the 2.4.6-pre2 kernel?
> > >
> > > thanks,
> > >
> > > greg k-h
> >
> > I presume you mean 2.5.6-pre2, as 2.4 is way past that.. I will try it
> > tonight after I get in from work...
>
> Yes, sorry about that :)
>
> greg k-h
--
James Curbo <jcurbo@acm.org> <jc108788@rc.hsu.edu>
Undergraduate Computer Science, Henderson State University
PGP Keys at <http://reddie.henderson.edu/~curboj/>
Public Keys: PGP - 1024/0x76E2061B GNUPG - 1024D/0x3EEA7288
[-- Attachment #2: ksymoops-output-3.txt --]
[-- Type: text/plain, Size: 2934 bytes --]
ksymoops 2.4.3 on i686 2.5.6-pre2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.5.6-pre2/ (default)
-m /boot/System.map-2.5.6-pre2 (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
No modules in ksyms, skipping objects
Warning (read_lsmod): no symbols in lsmod, is /proc/modules a valid lsmod file?
Warning (compare_maps): ksyms_base symbol idle_cpu_R__ver_idle_cpu not found in System.map. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol vmalloc_to_page_R__ver_vmalloc_to_page not found in System.map. Ignoring ksyms_base entry
Unable to handle kernel paging request at virtual address 0080005e
c020a07f
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c020a07f>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: 007fff92 ebx: d79e41c0 ecx: d79e41dc edx: ce55c000
esi: 00000000 edi: d55468c0 ebp: ffffffed esp: ce55df00
ds: 0018 es: 0018 ss: 0018
Stack: c021b7ca d79e41dc 000001f0 c02dfcc0 c02e0540 d55468c0 c020bd98 d6dad600
d55468c0 ce55c000 d55468c0 00000000 d6dad600 c0136d2f d6dad600 d55468c0
d55468c0 d6dad600 00000000 c142e380 c0135761 d6dad600 d55468c0 00000000
Call Trace: [<c021b7ca>] [<c020bd98>] [<c0136d2f>] [<c0135761>] [<c0135672>]
[<c0135a57>] [<c0108a1f>]
Code: 8b 80 cc 00 00 00 85 c0 74 17 8b 50 18 85 d2 74 10 8b 44 24
>>EIP; c020a07e <usb_submit_urb+e/40> <=====
Trace; c021b7ca <usblp_open+ba/110>
Trace; c020bd98 <usb_open+68/d0>
Trace; c0136d2e <chrdev_open+5e/a0>
Trace; c0135760 <dentry_open+e0/190>
Trace; c0135672 <filp_open+52/60>
Trace; c0135a56 <sys_open+36/80>
Trace; c0108a1e <syscall_call+6/a>
Code; c020a07e <usb_submit_urb+e/40>
00000000 <_EIP>:
Code; c020a07e <usb_submit_urb+e/40> <=====
0: 8b 80 cc 00 00 00 mov 0xcc(%eax),%eax <=====
Code; c020a084 <usb_submit_urb+14/40>
6: 85 c0 test %eax,%eax
Code; c020a086 <usb_submit_urb+16/40>
8: 74 17 je 21 <_EIP+0x21> c020a09e <usb_submit_urb+2e/40>
Code; c020a088 <usb_submit_urb+18/40>
a: 8b 50 18 mov 0x18(%eax),%edx
Code; c020a08a <usb_submit_urb+1a/40>
d: 85 d2 test %edx,%edx
Code; c020a08c <usb_submit_urb+1c/40>
f: 74 10 je 21 <_EIP+0x21> c020a09e <usb_submit_urb+2e/40>
Code; c020a08e <usb_submit_urb+1e/40>
11: 8b 44 24 00 mov 0x0(%esp,1),%eax
4 warnings issued. Results may not be reliable.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: a couple of USB related Oopses
2002-03-05 19:37 ` Greg KH
2002-03-06 4:02 ` James Curbo
@ 2002-03-06 5:03 ` James Curbo
2002-03-06 9:14 ` [linux-usb-devel] " Martin Diehl
2002-03-07 6:39 ` Greg KH
1 sibling, 2 replies; 9+ messages in thread
From: James Curbo @ 2002-03-06 5:03 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel, linux-usb-devel
[-- Attachment #1: Type: text/plain, Size: 1672 bytes --]
Ah, I tried it with 2.5.6-pre2 and usb-uhci.. still got a panic, when I
tried to print to the printer (which is what I was doing before too)
Also, got these in my kernel log...
usb-uhci.c: ENXIO 80000200, flags 0, urb c1523ac0, burb c1523a40
usb-uhci.c: ENXIO 80000200, flags 0, urb d7983c40, burb d7983bc0
usb-uhci.c: ENXIO 80000200, flags 0, urb d7983c40, burb d7983bc0
usb-uhci.c: ENXIO 80000280, flags 0, urb d7831540, burb d7983bc0
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d7831540, burb d7983bc0
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d7831540, burb d7983bc0
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d76b2840, burb d7983bc0
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d76b2840, burb d7983bc0
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d76b2840, burb d7983bc0
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d76b2ac0, burb d7983bc0
usb-uhci.c: ENXIO 80000280, flags 0, urb d76b2ac0, burb d7983bc0
usb-uhci.c: ENXIO 80000280, flags 0, urb d76b2ac0, burb d7983bc0
usb-uhci.c: ENXIO 80000280, flags 0, urb d76b2ac0, burb d7983bc0
Does that mean anything to you guys?
--
James Curbo <jcurbo@acm.org> <jc108788@rc.hsu.edu>
Undergraduate Computer Science, Henderson State University
PGP Keys at <http://reddie.henderson.edu/~curboj/>
Public Keys: PGP - 1024/0x76E2061B GNUPG - 1024D/0x3EEA7288
[-- Attachment #2: ksymoops-output-4.txt --]
[-- Type: text/plain, Size: 2854 bytes --]
ksymoops 2.4.3 on i686 2.5.6-pre2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.5.6-pre2/ (default)
-m /boot/System.map-2.5.6-pre2 (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
Warning (compare_maps): ksyms_base symbol idle_cpu_R__ver_idle_cpu not found in System.map. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol vmalloc_to_page_R__ver_vmalloc_to_page not found in System.map. Ignoring ksyms_base entry
Reading Oops report from the terminal
Unable to handle kernel paging request at virtual address 0100005e
c020a07f
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c020a07f>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: 00ffff92 ebx: d7b281c0 ecx: d7b281dc edx: cff7a000
esi: 00000000 edi: d34391c0 ebp: ffffffed esp: cff7bf00
ds: 0018 es: 0018 ss: 0018
Stack: c021ab5a d7b281dc 000001f0 c02de900 c02df100 d34391c0 c020bd98 d6cc90c0
d34391c0 cff7a000 d34391c0 00000000 d6cc90c0 c0136d2f d6cc90c0 d34391c0
d34391c0 d6cc90c0 00000000 c142e380 c0135761 d6cc90c0 d34391c0 00000000
Call Trace: [<c021ab5a>] [<c020bd98>] [<c0136d2f>] [<c0135761>] [<c0135672>]
[<c0135a57>] [<c0108a1f>]
Code: 8b 80 cc 00 00 00 85 c0 74 17 8b 50 18 85 d2 74 10 8b 44 24
>>EIP; c020a07e <usb_submit_urb+e/40> <=====
Trace; c021ab5a <usblp_open+ba/110>
Trace; c020bd98 <usb_open+68/d0>
Trace; c0136d2e <chrdev_open+5e/a0>
Trace; c0135760 <dentry_open+e0/190>
Trace; c0135672 <filp_open+52/60>
Trace; c0135a56 <sys_open+36/80>
Trace; c0108a1e <syscall_call+6/a>
Code; c020a07e <usb_submit_urb+e/40>
00000000 <_EIP>:
Code; c020a07e <usb_submit_urb+e/40> <=====
0: 8b 80 cc 00 00 00 mov 0xcc(%eax),%eax <=====
Code; c020a084 <usb_submit_urb+14/40>
6: 85 c0 test %eax,%eax
Code; c020a086 <usb_submit_urb+16/40>
8: 74 17 je 21 <_EIP+0x21> c020a09e <usb_submit_urb+2e/40>
Code; c020a088 <usb_submit_urb+18/40>
a: 8b 50 18 mov 0x18(%eax),%edx
Code; c020a08a <usb_submit_urb+1a/40>
d: 85 d2 test %edx,%edx
Code; c020a08c <usb_submit_urb+1c/40>
f: 74 10 je 21 <_EIP+0x21> c020a09e <usb_submit_urb+2e/40>
Code; c020a08e <usb_submit_urb+1e/40>
11: 8b 44 24 00 mov 0x0(%esp,1),%eax
3 warnings issued. Results may not be reliable.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [linux-usb-devel] Re: a couple of USB related Oopses
2002-03-06 5:03 ` James Curbo
@ 2002-03-06 9:14 ` Martin Diehl
2002-03-07 6:39 ` Greg KH
1 sibling, 0 replies; 9+ messages in thread
From: Martin Diehl @ 2002-03-06 9:14 UTC (permalink / raw)
To: James Curbo; +Cc: Greg KH, linux-kernel, linux-usb-devel
On Tue, 5 Mar 2002, James Curbo wrote:
> Ah, I tried it with 2.5.6-pre2 and usb-uhci.. still got a panic, when I
> tried to print to the printer (which is what I was doing before too)
> Also, got these in my kernel log...
>
> usb-uhci.c: ENXIO 80000200, flags 0, urb c1523ac0, burb c1523a40
Apparently there were several reports of such ENXIO errors recently
triggered by a spinlock issue in hid-core.c - IIRC you have an usb-mouse
connected and input loaded as well. If so, this might solve it:
<http://marc.theaimsgroup.com/?l=linux-usb-devel&m=101523276704203&w=2>
Martin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: a couple of USB related Oopses
2002-03-06 5:03 ` James Curbo
2002-03-06 9:14 ` [linux-usb-devel] " Martin Diehl
@ 2002-03-07 6:39 ` Greg KH
2002-03-08 15:26 ` James Curbo
1 sibling, 1 reply; 9+ messages in thread
From: Greg KH @ 2002-03-07 6:39 UTC (permalink / raw)
To: James Curbo; +Cc: linux-kernel, linux-usb-devel
On Tue, Mar 05, 2002 at 11:03:49PM -0600, James Curbo wrote:
> Ah, I tried it with 2.5.6-pre2 and usb-uhci.. still got a panic, when I
> tried to print to the printer (which is what I was doing before too)
> Also, got these in my kernel log...
Crud, missed another driver. Can you please try the patch below and let
me know if it fixes the problem for you?
thanks,
greg k-h
diff -Nru a/drivers/usb/printer.c b/drivers/usb/printer.c
--- a/drivers/usb/printer.c Wed Mar 6 22:46:17 2002
+++ b/drivers/usb/printer.c Wed Mar 6 22:46:17 2002
@@ -91,7 +91,7 @@
struct usb_device *dev; /* USB device */
devfs_handle_t devfs; /* devfs device */
struct semaphore sem; /* locks this struct, especially "dev" */
- struct urb readurb, writeurb; /* The urbs */
+ struct urb *readurb, *writeurb; /* The urbs */
wait_queue_head_t wait; /* Zzzzz ... */
int readcount; /* Counter for reads */
int ifnum; /* Interface number */
@@ -253,15 +253,15 @@
usblp->used = 1;
file->private_data = usblp;
- usblp->writeurb.transfer_buffer_length = 0;
- usblp->writeurb.status = 0;
+ usblp->writeurb->transfer_buffer_length = 0;
+ usblp->writeurb->status = 0;
usblp->wcomplete = 1; /* we begin writeable */
usblp->rcomplete = 0;
if (usblp->bidir) {
usblp->readcount = 0;
- usblp->readurb.dev = usblp->dev;
- if (usb_submit_urb(&usblp->readurb, GFP_KERNEL) < 0) {
+ usblp->readurb->dev = usblp->dev;
+ if (usb_submit_urb(usblp->readurb, GFP_KERNEL) < 0) {
retval = -EIO;
usblp->used = 0;
file->private_data = NULL;
@@ -278,8 +278,10 @@
usblp_table [usblp->minor] = NULL;
info ("usblp%d: removed", usblp->minor);
- kfree (usblp->writeurb.transfer_buffer);
+ kfree (usblp->writeurb->transfer_buffer);
kfree (usblp->device_id_string);
+ usb_free_urb(usblp->writeurb);
+ usb_free_urb(usblp->readurb);
kfree (usblp);
}
@@ -292,8 +294,8 @@
usblp->used = 0;
if (usblp->dev) {
if (usblp->bidir)
- usb_unlink_urb(&usblp->readurb);
- usb_unlink_urb(&usblp->writeurb);
+ usb_unlink_urb(usblp->readurb);
+ usb_unlink_urb(usblp->writeurb);
up(&usblp->sem);
} else /* finish cleanup from disconnect */
usblp_cleanup (usblp);
@@ -306,8 +308,8 @@
{
struct usblp *usblp = file->private_data;
poll_wait(file, &usblp->wait, wait);
- return ((!usblp->bidir || usblp->readurb.status == -EINPROGRESS) ? 0 : POLLIN | POLLRDNORM)
- | (usblp->writeurb.status == -EINPROGRESS ? 0 : POLLOUT | POLLWRNORM);
+ return ((!usblp->bidir || usblp->readurb->status == -EINPROGRESS) ? 0 : POLLIN | POLLRDNORM)
+ | (usblp->writeurb->status == -EINPROGRESS ? 0 : POLLOUT | POLLWRNORM);
}
static int usblp_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
@@ -423,12 +425,12 @@
return -ENODEV;
}
- if (usblp->writeurb.status != 0) {
+ if (usblp->writeurb->status != 0) {
if (usblp->quirks & USBLP_QUIRK_BIDIR) {
if (!usblp->wcomplete)
err("usblp%d: error %d writing to printer",
- usblp->minor, usblp->writeurb.status);
- err = usblp->writeurb.status;
+ usblp->minor, usblp->writeurb->status);
+ err = usblp->writeurb->status;
} else
err = usblp_check_status(usblp, err);
up (&usblp->sem);
@@ -440,23 +442,23 @@
continue;
}
- writecount += usblp->writeurb.transfer_buffer_length;
- usblp->writeurb.transfer_buffer_length = 0;
+ writecount += usblp->writeurb->transfer_buffer_length;
+ usblp->writeurb->transfer_buffer_length = 0;
if (writecount == count) {
up (&usblp->sem);
break;
}
- usblp->writeurb.transfer_buffer_length = (count - writecount) < USBLP_BUF_SIZE ?
- (count - writecount) : USBLP_BUF_SIZE;
+ usblp->writeurb->transfer_buffer_length = (count - writecount) < USBLP_BUF_SIZE ?
+ (count - writecount) : USBLP_BUF_SIZE;
- if (copy_from_user(usblp->writeurb.transfer_buffer, buffer + writecount,
- usblp->writeurb.transfer_buffer_length)) return -EFAULT;
+ if (copy_from_user(usblp->writeurb->transfer_buffer, buffer + writecount,
+ usblp->writeurb->transfer_buffer_length)) return -EFAULT;
- usblp->writeurb.dev = usblp->dev;
+ usblp->writeurb->dev = usblp->dev;
usblp->wcomplete = 0;
- if (usb_submit_urb(&usblp->writeurb, GFP_KERNEL)) {
+ if (usb_submit_urb(usblp->writeurb, GFP_KERNEL)) {
count = -EIO;
up (&usblp->sem);
break;
@@ -516,29 +518,29 @@
goto done;
}
- if (usblp->readurb.status) {
+ if (usblp->readurb->status) {
err("usblp%d: error %d reading from printer",
- usblp->minor, usblp->readurb.status);
- usblp->readurb.dev = usblp->dev;
+ usblp->minor, usblp->readurb->status);
+ usblp->readurb->dev = usblp->dev;
usblp->readcount = 0;
- usb_submit_urb(&usblp->readurb, GFP_KERNEL);
+ usb_submit_urb(usblp->readurb, GFP_KERNEL);
count = -EIO;
goto done;
}
- count = count < usblp->readurb.actual_length - usblp->readcount ?
- count : usblp->readurb.actual_length - usblp->readcount;
+ count = count < usblp->readurb->actual_length - usblp->readcount ?
+ count : usblp->readurb->actual_length - usblp->readcount;
- if (copy_to_user(buffer, usblp->readurb.transfer_buffer + usblp->readcount, count)) {
+ if (copy_to_user(buffer, usblp->readurb->transfer_buffer + usblp->readcount, count)) {
count = -EFAULT;
goto done;
}
- if ((usblp->readcount += count) == usblp->readurb.actual_length) {
+ if ((usblp->readcount += count) == usblp->readurb->actual_length) {
usblp->readcount = 0;
- usblp->readurb.dev = usblp->dev;
+ usblp->readurb->dev = usblp->dev;
usblp->rcomplete = 0;
- if (usb_submit_urb(&usblp->readurb, GFP_KERNEL)) {
+ if (usb_submit_urb(usblp->readurb, GFP_KERNEL)) {
count = -EIO;
goto done;
}
@@ -668,24 +670,42 @@
init_waitqueue_head(&usblp->wait);
+ usblp->writeurb = usb_alloc_urb(0, GFP_KERNEL);
+ if (!usblp->writeurb) {
+ err("out of memory");
+ kfree(usblp);
+ return NULL;
+ }
+ usblp->readurb = usb_alloc_urb(0, GFP_KERNEL);
+ if (!usblp->readurb) {
+ err("out of memory");
+ usb_free_urb(usblp->writeurb);
+ kfree(usblp);
+ return NULL;
+ }
+
if (!(buf = kmalloc(USBLP_BUF_SIZE * (bidir ? 2 : 1), GFP_KERNEL))) {
err("out of memory");
+ usb_free_urb(usblp->writeurb);
+ usb_free_urb(usblp->readurb);
kfree(usblp);
return NULL;
}
if (!(usblp->device_id_string = kmalloc(DEVICE_ID_SIZE, GFP_KERNEL))) {
err("out of memory");
+ usb_free_urb(usblp->writeurb);
+ usb_free_urb(usblp->readurb);
kfree(usblp);
kfree(buf);
return NULL;
}
- FILL_BULK_URB(&usblp->writeurb, dev, usb_sndbulkpipe(dev, epwrite->bEndpointAddress),
+ FILL_BULK_URB(usblp->writeurb, dev, usb_sndbulkpipe(dev, epwrite->bEndpointAddress),
buf, 0, usblp_bulk_write, usblp);
if (bidir)
- FILL_BULK_URB(&usblp->readurb, dev, usb_rcvbulkpipe(dev, epread->bEndpointAddress),
+ FILL_BULK_URB(usblp->readurb, dev, usb_rcvbulkpipe(dev, epread->bEndpointAddress),
buf + USBLP_BUF_SIZE, USBLP_BUF_SIZE, usblp_bulk_read, usblp);
/* Get the device_id string if possible. FIXME: Could make this kmalloc(length). */
@@ -737,9 +757,9 @@
lock_kernel();
usblp->dev = NULL;
- usb_unlink_urb(&usblp->writeurb);
+ usb_unlink_urb(usblp->writeurb);
if (usblp->bidir)
- usb_unlink_urb(&usblp->readurb);
+ usb_unlink_urb(usblp->readurb);
if (!usblp->used)
usblp_cleanup (usblp);
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: a couple of USB related Oopses
2002-03-07 6:39 ` Greg KH
@ 2002-03-08 15:26 ` James Curbo
0 siblings, 0 replies; 9+ messages in thread
From: James Curbo @ 2002-03-08 15:26 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel, linux-usb-devel
OK, I applied the patch; I don't get the panic anymore. I'm still
getting kernel messages like this:
usb-uhci.c: ENXIO 80000280, flags 0, urb d76c4840, burb d79b1d40
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d76c4840, burb d79b1d40
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d76c4840, burb d79b1d40
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d74c59c0, burb d79b1d40
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d74c59c0, burb d79b1d40
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d74c59c0, burb d79b1d40
usbfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usb-uhci.c: ENXIO 80000280, flags 0, urb d74c5b40, burb d79b1d40
usb-uhci.c: ENXIO 80000280, flags 0, urb d74c5b40, burb d79b1d40
usb-uhci.c: ENXIO 80000280, flags 0, urb d74c5b40, burb d79b1d40
usb-uhci.c: ENXIO 80000280, flags 0, urb d74c5b40, burb d79b1d40
usb-uhci.c: ENXIO 80000280, flags 0, urb d76c4640, burb d79b1d40
usb-uhci.c: ENXIO 80000280, flags 0, urb d76c4640, burb d79b1d40
usb-uhci.c: ENXIO 80000280, flags 0, urb d76c4640, burb d79b1d40
usb-uhci.c: ENXIO 80000280, flags 0, urb d76c4640, burb d79b1d40
Also, while now I don't get the panic when I try to print, it still
doesn't print.. CUPS says "USB port busy, retrying in 30 seconds"
Unfortunately I can't remember what kernel version I was using when it
worked last.
On Mar 06, Greg KH wrote:
> Crud, missed another driver. Can you please try the patch below and let
> me know if it fixes the problem for you?
>
> thanks,
>
> greg k-h
--
James Curbo <jcurbo@acm.org> <jc108788@rc.hsu.edu>
Undergraduate Computer Science, Henderson State University
PGP Keys at <http://reddie.henderson.edu/~curboj/>
Public Keys: PGP - 1024/0x76E2061B GNUPG - 1024D/0x3EEA7288
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2002-03-08 15:32 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-03-05 18:46 a couple of USB related Oopses James Curbo
2002-03-05 19:23 ` Greg KH
2002-03-05 19:33 ` James Curbo
2002-03-05 19:37 ` Greg KH
2002-03-06 4:02 ` James Curbo
2002-03-06 5:03 ` James Curbo
2002-03-06 9:14 ` [linux-usb-devel] " Martin Diehl
2002-03-07 6:39 ` Greg KH
2002-03-08 15:26 ` James Curbo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox