Re: [regression] external HDD in USB3 enclosure cannot bedynamically removed (Re: Linux 3.7.5)

From: Sarah Sharp
Date: Tue Feb 12 2013 - 15:42:39 EST


On Tue, Feb 12, 2013 at 11:35:29AM +0100, Holger Hoffstätte wrote:
> On 02/12/13 01:40, Sarah Sharp wrote:
> > Can you turn on CONFIG_USB_DEBUG and CONFIG_USB_XHCI_HCD_DEBUGGING,
> > recompile the 3.7.5 kernel, and send me dmesg starting from the point
> > you unmount the device and then power it off?
>
> I don't even need to mount/unmount; just plugging in/unplugging
> reproduces the problem. Note again that this is independent of both the
> used USB 3.0 card (might be the same chipset though?) and the attached
> device/enclosure.
>
> So time to make a freshly built 3.8-rc7 go Ding Dong! :)

xHCI doorbells are fun. :)

I think I see the issue. Your host controller reports the Inactive
state after a USB disconnect. My host controllers go to the RxDetect
state on a disconnect.

The patches that went into 3.8 and the stable kernels to better handle
the Inactive state were not designed to handle a connected device going
to the Inactive state. I thought that would be a rare case, but
apparently it's not.

There was a further set of patches queued for 3.9 to deal with connected
devices going to the Inactive state, but they looked like they were too
big for stable:

d3b9d7a USB: Fix connected device switch to Inactive state.
a24a607 USB: Rip out recursive call on warm port reset.
2d4fa94 USB: Prepare for refactoring by adding extra udev checks.
0fe51aa USB: Don't use EHCI port sempahore for USB 3.0 hubs.

Can you retry with Greg's usb-next branch?

git clone git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git -b usb-next

If that fixes your problem, we should either get those additional
patches into 3.8 and the stable trees, or do a revert of the whole
series and just let 3.9 carry the full patchset.

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/