From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030221 Description of problem: The Sony CLIE SJ33 PDA running PalmOS 4.1 connects to the computer with a USB cable. A purple Memory Stick inserted into the device can act like a normal usb-storage device. kernel-2.4.18-24.8.0 & kernel-2.4.20-2.[48-54] exhibit poor when attempting to use this normal usb-storage device. Someties it just doesn't work at all, sometimes it works briefly and dies with an "interrupt" message in dmesg. kernel OOPS and a complete kernel panic can also be triggered. This works 100% stable with kernel-2.4.21-pre5 on the same laptop and Phoebe3 installation. The following just happened to me with kernel-2.4.20-2.54. My comments are within. COMMENT: Plug in USB and activate "MS Import" which tells the computer that it should treat it as a usb-storage device. hub.c: new USB device 00:07.2-1, assigned address 3 usb.c: USB device 3 (vend/prod 0x54c/0x99) is not claimed by any active driver. Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage scsi1 : SCSI emulation for USB Mass Storage devices usb-uhci.c: interrupt, status 3, frame# 1384 Vendor: Sony Model: CLIE MGMS Rev: 1.00 Type: Direct-Access ANSI SCSI revision: 02 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 3 USB Mass Storage support registered. Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0 SCSI device sda: 253696 512-byte hdwr sectors (130 MB) sda: Write Protect is off sda: sda1 COMMENT: At this point I can "fdisk /dev/sda" or "mount -t vfat /dev/sda1 /mnt/foo" and use the device normally, but always within 30-60 seconds the following happens in dmesg. usb-uhci.c: interrupt, status 3, frame# 1668 COMMENT: When this happens, there is a small squeak coming from my sound card and the usb-storage device seizes to work. My gnome-terminal shell that attempted to list files within that mounted vfat filesystem is completely frozen (bash only, not gnome-terminal itself). Soon later this happens. usb-uhci.c: interrupt, status 3, frame# 1358 usb.c: USB disconnect on device 00:07.2-1 address 3 Unable to handle kernel NULL pointer dereference at virtual address 0000001b printing eip: e082f380 *pde = 00000000 Oops: 0000 nls_iso8859-1 nls_cp437 vfat fat sd_mod usb-storage via82cxxx_audio uart401 ac97_codec sound soundcore parport_pc lp parport iptable_filter ip_tables autofs d CPU: 0 EIP: 0060:[<e082f380>] Not tainted EFLAGS: 00010286 EIP is at usb_submit_urb_Rd9c4a55c [usbcore] 0x1c (2.4.20-2.54) eax: ffffffff ebx: 00000000 ecx: d0511eac edx: d8a2ba40 esi: 000001f4 edi: d0510000 ebp: d0511e94 esp: d0511e6c ds: 0068 es: 0068 ss: 0068 Process scsi_eh_1 (pid: 3320, stackpage=d0511000) Stack: 000001f4 e082f47a d8a2ba40 00000001 00000000 00000000 d0510000 00000000 00000000 00000023 d0511eac d0511eac 00000000 00000000 00000000 d0510000 d0511e94 d0511e94 00000000 d5cebc80 00000005 dd223400 e082f5e3 d8a2ba40 Call Trace: [<e082f47a>] usb_start_wait_urb [usbcore] 0x7a (0xd0511e70)) [<e082f5e3>] usb_internal_control_msg [usbcore] 0x63 (0xd0511ec4)) [<e082f68b>] usb_control_msg_R18f8b126 [usbcore] 0x9b (0xd0511ed8)) [<e0840a60>] usb_address0_sem [usbcore] 0x0 (0xd0511efc)) [<e0830479>] usb_set_address_Ra829ead2 [usbcore] 0x61 (0xd0511f08)) [<e0833575>] usb_reset_device_Rf8e7ab1c [usbcore] 0xbd (0xd0511f30)) [<e09712c5>] bus_reset [usb-storage] 0x5d (0xd0511f5c)) [<e08d409f>] scsi_try_bus_reset [scsi_mod] 0x4f (0xd0511f80)) [<e08d4afe>] scsi_unjam_host [scsi_mod] 0x66e (0xd0511f90)) [<e08d5078>] scsi_error_handler [scsi_mod] 0x10c (0xd0511fc4)) [<e08dc635>] .rodata.str1.1 [scsi_mod] 0x2049 (0xd0511fcc)) [<e08d4f6c>] scsi_error_handler [scsi_mod] 0x0 (0xd0511fe4)) [<c0107389>] kernel_thread_helper [kernel] 0x5 (0xd0511ff0)) Code: 8b 40 1c 85 c0 75 10 89 f6 8d bc 27 00 00 00 00 b8 ed ff ff modprobe -r usb-storage && modprobe usb-storage This can often trigger a complete kernel panic after this point. Other times it just freezes with usb-storage stuck in "Initializing" but the rest of the system is fine. Reboot is needed to recover. I will attempt to get kernel panic dump within the next few days when I have a serial cable. Version-Release number of selected component (if applicable): kernel-2.4.18-24.8.0 (Psyche Errata) kernel-2.4.20-2.48 (Phoebe3) kernel-2.4.20-2.54 (Rawhide) I have one other unrelated usb-storage keychain that has even more severe behavior than this. I will file that separately. It too has the many "interrupt" messages that tends to happen at the same time of failure like this case.
Similar but very different looking kernel OOPS in Bug 85822 with an unrelated USB storage keychain. Same "interrupt" problem. Will soon test USB hard drive on this laptop too.
Because Bug 85822 is about a device that Linux kernel doesn't seem to handle properly under any circumstance, this report is focused on the "interrupt" problem that seems to randomly occur, breaking usb-storage operation. Test Results for uhci.o instead of usb-uhci.o ============================================= usb-uhci.c: interrupt, status 3, frame# 1668 This kind of error no longer displays in dmesg, however randomly I/O to the USB storage device dies in a similar manner. If using "mount -t vfat -o ro" then read operations fails with I/O error. If using a read-write mount then whatever process is reading/writing on the device locks up completely. Because of this behavior I suspect that the problem is isolated to usb-storage. usb-uhci displays a message when it occurs in dmesg but uhci.o does not. uhci.o and usb-uhci.o in kernel-2.4.21-pre5 do not seem to have this random lockup problem.
> uhci.o and usb-uhci.o in kernel-2.4.21-pre5 do not seem to have this random > lockup problem. Oops, that should read "usb-storage in kernel-2.4.21-pre5 does not seem to have this random lockup problem. Tested with both uhci.o and usb-uhci.o."
usb-uhci.c: interrupt, status 3, frame# 1221 A "click" sound from the floppy drive always accompanies this dmesg message and simultaneously I/O fails. The following happened in kernel-2.4.20-2.54, usb-uhci.o and usb-storage, vfat mounted read-only, while reading a 5MB file. hub.c: new USB device 00:07.2-1, assigned address 5 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 5 usb-uhci.c: interrupt, status 3, frame# 2016 SCSI device sda: 253696 512-byte hdwr sectors (130 MB) sda: Write Protect is off sda: sda1 usb-uhci.c: interrupt, status 3, frame# 1221 usb.c: USB disconnect on device 00:07.2-1 address 5 Unable to handle kernel NULL pointer dereference at virtual address 000000e4 printing eip: e094f2d7 *pde = 00000000 Oops: 0000 usb-uhci usb-storage nls_iso8859-1 nls_cp437 sd_mod vfat fat soundcore parport_pc lp parport iptable_filter ip_tables autofs ds yenta_socket pcmcia_core 8139t CPU: 0 EIP: 0060:[<e094f2d7>] Not tainted EFLAGS: 00013246 EIP is at bus_reset [usb-storage] 0x6f (2.4.20-2.54) eax: 00000000 ebx: 00003282 ecx: 00000000 edx: 00002003 esi: dee91e00 edi: 00000000 ebp: 00000000 esp: ce77bf60 ds: 0068 es: 0068 ss: 0068 Process scsi_eh_1 (pid: 9933, stackpage=ce77b000) Stack: c1725600 ffffffff ffffffff dee91f44 00003282 dee91800 00000000 00000000 e08d509f dee91800 00000000 dee91800 e08d5afe dee91800 000000c8 ce77a000 00000000 00000000 dee91a00 00000001 00000000 ddafeb40 ce77bfd4 ce77a000 Call Trace: [<e08d509f>] scsi_try_bus_reset [scsi_mod] 0x4f (0xce77bf80)) [<e08d5afe>] scsi_unjam_host [scsi_mod] 0x66e (0xce77bf90)) [<e08d6078>] scsi_error_handler [scsi_mod] 0x10c (0xce77bfc4)) [<e08dd635>] .rodata.str1.1 [scsi_mod] 0x2049 (0xce77bfcc)) [<e08d5f6c>] scsi_error_handler [scsi_mod] 0x0 (0xce77bfe4)) [<c0107389>] kernel_thread_helper [kernel] 0x5 (0xce77bff0)) Code: 8b 90 e4 00 00 00 89 c1 80 7a 04 00 0f 84 8e 00 00 00 31 ed
Test Results from kernel-2.4.18-24.8.0 ====================================== hub.c: USB new device connect on bus1/1, assigned device number 3 usb.c: USB device 3 (vend/prod 0x54c/0x99) is not claimed by any active driver. Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage scsi1 : SCSI emulation for USB Mass Storage devices *** 2 seconds later *** *** FLOPPY CLICK *** usb-uhci.c: interrupt, status 3, frame# 592 usb.c: USB disconnect on device 3 *** 2 seconds later *** *** FLOPPY CLICK *** usb-uhci.c: interrupt, status 3, frame# 1547 Vendor: Sony Model: CLIE MGMS Rev: 1.00 Type: Direct-Access ANSI SCSI revision: 02 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 3 USB Mass Storage support registered. *** Seems stable now *** *** ATTEMPT vfat read-only mount *** Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0 *** mount locked up completely, cannot kill -9, strace -p locks up too *** *** about a minute later *** request_module[block-major-8]: waitpid(4414,...) failed, errno 512 After I unplugged the USB device, these errors began appearing: usb-uhci.c: interrupt, status 3, frame# 110 usb-uhci.c: interrupt, status 3, frame# 1018 usb-uhci.c: interrupt, status 3, frame# 1926 usb-uhci.c: interrupt, status 3, frame# 786 usb-uhci.c: interrupt, status 3, frame# 1694 Another "interrupt" message appears once every 5 seconds.
kernel-2.4.20-6 is able to mount the Sony CLIE as a usb storage device. It seems to be stable too. Doing further tests before I close this bug.
Confirmed, seems good on 2.4.20-8 and 2.4.20-9.