public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [2.6.10-rc2] ehci_hcd causes oops after some use of usb harddisk
@ 2004-11-23 18:12 Jan De Luyck
  2004-11-23 20:03 ` [linux-usb-devel] " David Brownell
  0 siblings, 1 reply; 3+ messages in thread
From: Jan De Luyck @ 2004-11-23 18:12 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-usb-users

Hello list,

Kernel: 2.6.10-rc2

I'm trying to use an USB harddisk (IDE disk in USB2.0 enclosure) with my linux laptop. Using it at usb-1 speeds with the usb_uhci module causes no problems whatsoever.

When trying to use the drive while claimed with ehci_hcd, it will disconnect after a while, causing my connection to my disk to hang, and the entire USB subsystem with it. (removing modules is no longer possible).

This is after plugging the drive and mounting the XFS filesystem on it:

Nov 23 18:47:26 precious kernel: usb 4-3: new high speed USB device using ehci_hcd and address 2
Nov 23 18:47:27 precious kernel: scsi4 : SCSI emulation for USB Mass Storage devices
Nov 23 18:47:27 precious kernel: usb 2-1: USB disconnect, address 2
Nov 23 18:47:27 precious kernel: usb-storage: device found at 2
Nov 23 18:47:27 precious kernel: usb-storage: waiting for device to settle before scanning
Nov 23 18:47:32 precious kernel:   Vendor: MAXTOR 6  Model: L080J4            Rev: 0811
Nov 23 18:47:32 precious kernel:   Type:   Direct-Access                      ANSI SCSI revision: 00
Nov 23 18:47:32 precious kernel: SCSI device sda: 156355584 512-byte hdwr sectors (80054 MB)
Nov 23 18:47:32 precious kernel: sda: assuming drive cache: write through
Nov 23 18:47:32 precious kernel:  sda: sda1
Nov 23 18:47:32 precious kernel: Attached scsi disk sda at scsi4, channel 0, id 0, lun 0
Nov 23 18:47:32 precious kernel: Attached scsi generic sg0 at scsi4, channel 0, id 0, lun 0,  type 0
Nov 23 18:47:32 precious kernel: usb-storage: device scan complete
Nov 23 18:47:46 precious kernel: XFS mounting filesystem sda1
Nov 23 18:47:46 precious kernel: Ending clean XFS mount for filesystem: sda1

Then I copy some stuff on it. When the actual write starts (eg triggered with sync), the activity led never goes out anymore.

Shortly thereafter:

Nov 23 18:49:45 precious kernel:  offline device
Nov 23 18:49:45 precious kernel: scsi4 (0:0): rejecting I/O to offline device
Nov 23 18:49:45 precious last message repeated 343 times
Nov 23 18:49:45 precious kernel: xfs_force_shutdown(sda1,0x1) called from line 353 of file fs/xfs/xfs_rw.c.  Return address = 0xc0244e4b
Nov 23 18:49:45 precious kernel:  target4:0:0: Illegal state transition <NULL>->cancel
Nov 23 18:49:45 precious kernel: Badness in scsi_device_set_state at drivers/scsi/scsi_lib.c:1717
Nov 23 18:49:45 precious kernel:  [pg0+550150217/1069249536] scsi_device_set_state+0xc9/0x130 [scsi_mod]
Nov 23 18:49:45 precious kernel:  [pg0+550129384/1069249536] scsi_device_cancel+0x28/0x126 [scsi_mod]
Nov 23 18:49:45 precious kernel:  [pg0+550129744/1069249536] scsi_device_cancel_cb+0x0/0x20 [scsi_mod]
Nov 23 18:49:46 precious kernel:  [device_for_each_child+61/112] device_for_each_child+0x3d/0x70
Nov 23 18:49:46 precious kernel:  [pg0+550129825/1069249536] scsi_host_cancel+0x31/0xc0 [scsi_mod]
Nov 23 18:49:46 precious kernel:  [pg0+550129744/1069249536] scsi_device_cancel_cb+0x0/0x20 [scsi_mod]
Nov 23 18:49:46 precious kernel:  [kobject_put+31/48] kobject_put+0x1f/0x30
Nov 23 18:49:46 precious kernel:  [kobject_put+31/48] kobject_put+0x1f/0x30
Nov 23 18:49:46 precious kernel:  [kobject_release+0/16] kobject_release+0x0/0x10
Nov 23 18:49:46 precious kernel:  [pg0+550159998/1069249536] scsi_remove_device+0x7e/0xb0 [scsi_mod]
Nov 23 18:49:46 precious kernel:  [pg0+550130001/1069249536] scsi_remove_host+0x21/0x70 [scsi_mod]
Nov 23 18:49:46 precious kernel:  [pg0+550764147/1069249536] storage_disconnect+0x83/0x9b [usb_storage]
Nov 23 18:49:46 precious kernel:  [pg0+552829238/1069249536] usb_unbind_interface+0x86/0x90 [usbcore]
Nov 23 18:49:46 precious kernel:  [device_release_driver+134/144] device_release_driver+0x86/0x90
Nov 23 18:49:46 precious kernel:  [bus_remove_device+100/176] bus_remove_device+0x64/0xb0
Nov 23 18:49:46 precious kernel:  [device_del+93/160] device_del+0x5d/0xa0
Nov 23 18:49:46 precious kernel:  [pg0+552859256/1069249536] usb_disable_device+0xb8/0x100 [usbcore]
Nov 23 18:49:46 precious kernel:  [pg0+552838870/1069249536] usb_disconnect+0xa6/0x150 [usbcore]
Nov 23 18:49:46 precious kernel:  [pg0+552843783/1069249536] hub_port_connect_change+0x3c7/0x400 [usbcore]
Nov 23 18:49:46 precious kernel:  [pg0+552833879/1069249536] clear_port_feature+0x57/0x60 [usbcore]
Nov 23 18:49:46 precious kernel:  [pg0+552844465/1069249536] hub_events+0x271/0x3c0 [usbcore]
Nov 23 18:49:46 precious kernel:  [pg0+552844853/1069249536] hub_thread+0x35/0x120 [usbcore]
Nov 23 18:49:46 precious kernel:  [autoremove_wake_function+0/96] autoremove_wake_function+0x0/0x60

while nothing changed to the state of the USB device...

Any hints? This is rather annoying, as I do want to be able to use this at it's full speed...

lsusb -v for the specific device:
Bus 001 Device 002: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x05e3 Genesys Logic, Inc.
  idProduct          0x0702 USB 2.0 IDE Adapter
  bcdDevice            0.02
  iManufacturer           0 
  iProduct                1 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower               96mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0

Jan
-- 
Your business will go through a period of considerable expansion.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [linux-usb-devel] [2.6.10-rc2] ehci_hcd causes oops after some use of usb harddisk
  2004-11-23 18:12 [2.6.10-rc2] ehci_hcd causes oops after some use of usb harddisk Jan De Luyck
@ 2004-11-23 20:03 ` David Brownell
  2004-11-23 20:38   ` Jan De Luyck
  0 siblings, 1 reply; 3+ messages in thread
From: David Brownell @ 2004-11-23 20:03 UTC (permalink / raw)
  To: linux-usb-devel; +Cc: Jan De Luyck, linux-kernel, linux-usb-users

On Tuesday 23 November 2004 10:12, Jan De Luyck cross-posted to the world:
> 
> Nov 23 18:49:45 precious kernel:  offline device
> Nov 23 18:49:45 precious kernel: scsi4 (0:0): rejecting I/O to offline device
> Nov 23 18:49:45 precious last message repeated 343 times
> Nov 23 18:49:45 precious kernel: xfs_force_shutdown(sda1,0x1) called from line 353 of file fs/xfs/xfs_rw.c.  Return address = 0xc0244e4b
> Nov 23 18:49:45 precious kernel:  target4:0:0: Illegal state transition <NULL>->cancel
> Nov 23 18:49:45 precious kernel: Badness in scsi_device_set_state at drivers/scsi/scsi_lib.c:1717
> Nov 23 18:49:45 precious kernel:  [pg0+550150217/1069249536] scsi_device_set_state+0xc9/0x130 [scsi_mod]
> Nov 23 18:49:45 precious kernel:  [pg0+550129384/1069249536] scsi_device_cancel+0x28/0x126 [scsi_mod]
> Nov 23 18:49:45 precious kernel:  [pg0+550129744/1069249536] scsi_device_cancel_cb+0x0/0x20 [scsi_mod]
> Nov 23 18:49:46 precious kernel:  [device_for_each_child+61/112] device_for_each_child+0x3d/0x70
> Nov 23 18:49:46 precious kernel:  [pg0+550129825/1069249536] scsi_host_cancel+0x31/0xc0 [scsi_mod]
> Nov 23 18:49:46 precious kernel:  [pg0+550129744/1069249536] scsi_device_cancel_cb+0x0/0x20 [scsi_mod]
> Nov 23 18:49:46 precious kernel:  [kobject_put+31/48] kobject_put+0x1f/0x30
> Nov 23 18:49:46 precious kernel:  [kobject_put+31/48] kobject_put+0x1f/0x30
> Nov 23 18:49:46 precious kernel:  [kobject_release+0/16] kobject_release+0x0/0x10
> Nov 23 18:49:46 precious kernel:  [pg0+550159998/1069249536] scsi_remove_device+0x7e/0xb0 [scsi_mod]
> Nov 23 18:49:46 precious kernel:  [pg0+550130001/1069249536] scsi_remove_host+0x21/0x70 [scsi_mod]
> Nov 23 18:49:46 precious kernel:  [pg0+550764147/1069249536] storage_disconnect+0x83/0x9b [usb_storage]
> Nov 23 18:49:46 precious kernel:  [pg0+552829238/1069249536] usb_unbind_interface+0x86/0x90 [usbcore]
> Nov 23 18:49:46 precious kernel:  [device_release_driver+134/144] device_release_driver+0x86/0x90
> Nov 23 18:49:46 precious kernel:  [bus_remove_device+100/176] bus_remove_device+0x64/0xb0
> Nov 23 18:49:46 precious kernel:  [device_del+93/160] device_del+0x5d/0xa0
> Nov 23 18:49:46 precious kernel:  [pg0+552859256/1069249536] usb_disable_device+0xb8/0x100 [usbcore]
> Nov 23 18:49:46 precious kernel:  [pg0+552838870/1069249536] usb_disconnect+0xa6/0x150 [usbcore]
> Nov 23 18:49:46 precious kernel:  [pg0+552843783/1069249536] hub_port_connect_change+0x3c7/0x400 [usbcore]
> Nov 23 18:49:46 precious kernel:  [pg0+552833879/1069249536] clear_port_feature+0x57/0x60 [usbcore]
> Nov 23 18:49:46 precious kernel:  [pg0+552844465/1069249536] hub_events+0x271/0x3c0 [usbcore]
> Nov 23 18:49:46 precious kernel:  [pg0+552844853/1069249536] hub_thread+0x35/0x120 [usbcore]
> Nov 23 18:49:46 precious kernel:  [autoremove_wake_function+0/96] autoremove_wake_function+0x0/0x60

That would be a bug in the SCSI code; I think I've seen a patch
for that get merged into more recent BK trees ...


> while nothing changed to the state of the USB device...

Clearly not true ... the device got disconnected.  That's the
only issue here that's _possibly_ related to the ehci_hcd driver.

Never having seen that particular failure mode myself, all I
can do is say "gee, that's odd".  It actually looks more like
the device is spontaneously disconnecting itself (some other
folk report the same issue) than that Linux does anything to
provoke it into such a snit fit.  Are you sure you didn't get
messages about something like an overcurrent event on that port?


> Any hints? This is rather annoying, as I do want to be able
> to use this at it's full speed... 

"Full speed" is 12 Mbit/second.  "High speed" is 480 Mbit/sec.  :)
 
> lsusb -v for the specific device:
> Bus 001 Device 002: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               2.00
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0 
>   bDeviceProtocol         0 
>   bMaxPacketSize0        64
>   idVendor           0x05e3 Genesys Logic, Inc.
>   idProduct          0x0702 USB 2.0 IDE Adapter

... those GeneSys devices have been sufficiently problematic that I,
for one, won't investigate bug reports involving them any more.  The
devices have several problems where they lock up when Linux does
perfectly legal things.  Avoid them.

- Dave

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [linux-usb-devel] [2.6.10-rc2] ehci_hcd causes oops after some use of usb harddisk
  2004-11-23 20:03 ` [linux-usb-devel] " David Brownell
@ 2004-11-23 20:38   ` Jan De Luyck
  0 siblings, 0 replies; 3+ messages in thread
From: Jan De Luyck @ 2004-11-23 20:38 UTC (permalink / raw)
  To: David Brownell; +Cc: linux-usb-devel, linux-kernel, linux-usb-users

On Tuesday 23 November 2004 21:03, David Brownell wrote:

> > lsusb -v for the specific device:
> > Bus 001 Device 002: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter
> > Device Descriptor:
> >   bLength                18
> >   bDescriptorType         1
> >   bcdUSB               2.00
> >   bDeviceClass            0 (Defined at Interface level)
> >   bDeviceSubClass         0
> >   bDeviceProtocol         0
> >   bMaxPacketSize0        64
> >   idVendor           0x05e3 Genesys Logic, Inc.
> >   idProduct          0x0702 USB 2.0 IDE Adapter
>
> ... those GeneSys devices have been sufficiently problematic that I,
> for one, won't investigate bug reports involving them any more.  The
> devices have several problems where they lock up when Linux does
> perfectly legal things.  Avoid them.

Yeah... well, unfortunately, it's almost impossible to get your hands on a usb 
enclosure, break the seals on the wrapping, test it, then go back nagging it 
doesn't work at the vendor - while it does work in <insert certain os name 
here>. While I do agree - and try to find linux-compatible devices whenever 
possible - this isn't really helpful to the end-user imo...

I've got it working now, and it works great after the udelay(200); 
modification.

Jan

-- 
Witch!  Witch!  They'll burn ya!
  -- Hag, "Tomorrow is Yesterday", stardate unknown


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-11-23 20:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-23 18:12 [2.6.10-rc2] ehci_hcd causes oops after some use of usb harddisk Jan De Luyck
2004-11-23 20:03 ` [linux-usb-devel] " David Brownell
2004-11-23 20:38   ` Jan De Luyck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox