• Mike Thompson's avatar
    usb: otg: mxs-phy: Fix mx23 operation · 363366cf
    Mike Thompson authored
    Currently mx23 fails to enumerate a USB device:
    
    [ 1.300000] hub 1-0:1.0: unable to enumerate USB device on port 1
    [ 1.520000] hub 1-0:1.0: unable to enumerate USB device on port 1
    [ 1.740000] hub 1-0:1.0: unable to enumerate USB device on port 1
    [ 1.960000] hub 1-0:1.0: unable to enumerate USB device on port 1
    [ 2.180000] hub 1-0:1.0: unable to enumerate USB device on port 1
    
    Use a kernel workqueue to asynchronously delay the setting of
    ENHOSTDISCONDETECT bit until after higher level hub connect/reset processing
    is complete.  Prematurely setting the bit prevents the connection
    processing from completing and not setting it prevents disconnect from being
    detected. No delay is needed for clearing of ENHOSTDISCONDETECT.
    
    Successfully tested on mx23-olinuxino (micro, mini and maxi variants) and mx28evk.
    
    Cc: stable@vger.kernel.org # v3.6
    Signed-off-by: default avatarMike Thompson <mpthompson@gmail.com>
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    363366cf
mxs-phy.c 5.55 KB