Alan Stern wrote: > > So the issue turned out to be that the target device is powered down > > when usb_reset_device() is called. This flushes the firmware from the > > target and the subsequent re-enumeration reads the old descriptors ... > > Why is the device powered down? Does it turn itself off? When the USB_PORT_FEAT_ENABLE is cleared in hub_port_disable(), the target device powers itself down. Forgive my ignorance, but is this normal or abnormal behavior ? > > Apparently this is a limitation, as indicated in the comment: > > > > /* FIXME let caller ask to power down the port: > > * - some devices won't enumerate without a VBUS power cycle > > * - SRP saves power that way > > * - ... new call, TBD ... > > * That's easy if this hub can switch power per-port, and > > * khubd reactivates the port later (timer, SRP, etc). > > * Powerdown must be optional, because of reset/DFU. > > */ > > Apparently you have misunderstood that comment. There is no power-down > during reset. That comment suggests that sometimes a caller may _want_ > the port to be powered down, but the existing code never does so. Indeed, I have misunderstood it then. Thanks for explaining. Sujith -- 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