On Mon, 2014-02-03 at 23:10 +0000, Paul Zimmerman wrote: > > From: Dinh Nguyen [mailto:dinguyen@xxxxxxxxxx] > > Sent: Monday, February 03, 2014 2:53 PM > > > > While I was testing my patch to combine the dwc2/s3c-hsotg into a DRD > > driver, I found that after disconnecting a USB HDD from an OTG > > A-connector, then reconnecting it, the driver would no longer detect the > > USB device. > > > > I was able to track this issue down to this commit: > > > > commit beb7e592bcfd750951c47580494f13065f0fd44c > > Author: Julien DELACOU <julien.delacou@xxxxxx> > > Date: Wed Nov 20 17:29:49 2013 +0100 > > > > staging: dwc2: add check on dwc2_core_reset return > > > > If the GRSTCTL_CSFTRST self-clearing bit never comes > > back to 0 for any reason, the controller is under reset > > state and cannot be used. It's preferable to abort > > initialization in such case. > > > > Signed-off-by: Julien Delacou <julien.delacou@xxxxxx> > > Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > > > > > > Has anyone else seen this issue with the dwc2 driver on 3.14-rc1? > > Hi Dinh, > > I haven't seen it. Do either of the "HANG" messages in dwc2_core_reset() > show up in your dmesg when this happens? > > If so, what happens if you try increasing the timeout values in there? > i.e. try changing the two "if (++count > 50)" to "if (++count > 250)" > or so. I think it's because of this change: static int dwc2_hs_phy_init(struct dwc2_hsotg *hsotg, bool select_phy) { u32 usbcfg; + int retval = 0; if (!select_phy) - return; + return -ENODEV; My select_phy is NULL. Not sure why, but I'll debug it some more. Dinh > -- 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