Re: [PATCH v3 00/10] Just the essential port power control fixes for 3.14

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 15 Jan 2014, Dan Williams wrote:

> When the usb_device stays bound we do attempt recovery, fail, and
> properly trigger a disconnect of the device as expected.
> 
> Question for Alan:  I'm thinking we need a hub_port_logical_disconnect()
> when the usb_device becomes unbound.  Otherwise the port state will
> remain stale until the next khubd event on that port.  I'll give it some
> more thought, but curious what is the expected recovery from that state.

No, we don't call hub_port_logical_disconnect merely because of drivers
getting bound or unbound.  We call it only when there has been an
external change, either in the device itself or its descriptors -- 
something that should cause the kernel to act as though the old device 
has been unplugged (and possibly a new device plugged in).

The kernel's assumption is that a usb_device will always have a driver.  
Originally I thought there would be alternative drivers to the standard 
one (for example, a driver that would export access to the device over 
the network), but things haven't worked out that way.

If somebody unbinds the usb_device's driver, they should be aware that
things won't work right.  The expected recovery is that the user
rebinds the driver.  (But would the rebind work if the device is 
suspended?  I don't remember ever testing it...)

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux