Bug 85821 - usb-storage fails at "interrupt", oops & panic sometimes
Summary: usb-storage fails at "interrupt", oops & panic sometimes
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 9
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Pete Zaitcev
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-03-08 10:18 UTC by Warren Togami
Modified: 2007-04-18 16:51 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-04-22 08:50:18 UTC
Embargoed:


Attachments (Terms of Use)

Description Warren Togami 2003-03-08 10:18:54 UTC
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.

Comment 1 Warren Togami 2003-03-08 10:34:45 UTC
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.


Comment 2 Warren Togami 2003-03-10 08:45:42 UTC
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.

Comment 3 Warren Togami 2003-03-10 08:52:33 UTC
> 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."


Comment 4 Warren Togami 2003-03-10 09:20:05 UTC
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 

Comment 5 Warren Togami 2003-03-10 09:36:05 UTC
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.

Comment 6 Warren Togami 2003-03-31 12:05:55 UTC
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.


Comment 7 Warren Togami 2003-04-22 08:50:18 UTC
Confirmed, seems good on 2.4.20-8 and 2.4.20-9.


Note You need to log in before you can comment on or make changes to this bug.