• John Stultz's avatar
    usb: musb: fix oops on musb_gadget_pullup · 72c487df
    John Stultz authored
    an 'unhandled fault' is causes when a gadget driver calls
    usb_gadget_connect() while the USB cable isn't plugged into
    the OTG port.
    
    the fault is caused by an access to MUSB's memory space
    while its clock is turned off due to pm_runtime kicking
    in.
    
    in order to fix the fault, we enclose musb_gadget_pullup()
    with pm_runtime_get_sync() ... pm_runtime_put() calls to
    be sure we will always reach that path with clock turned on.
    
    [ balbi@ti.com : simplified commit log; removed few things
    	which didn't belong there ]
    
    Cc: stable@kernel.org
    Reported-by: default avatarZach Pfeffer <zach.pfeffer@linaro.org>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    72c487df
musb_gadget.c 57.7 KB