Merge tag 'usb-ci-v4.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-linus
Peter writes: Fix one bug that host can't work after insmod gadget module at dual-role mode, the root cause of this issue is the usbcmd.rs is cleared by chipidea udc code.
This commit is contained in:
@@ -1596,8 +1596,11 @@ static int ci_udc_pullup(struct usb_gadget *_gadget, int is_on)
|
||||
{
|
||||
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
|
||||
|
||||
/* Data+ pullup controlled by OTG state machine in OTG fsm mode */
|
||||
if (ci_otg_is_fsm_mode(ci))
|
||||
/*
|
||||
* Data+ pullup controlled by OTG state machine in OTG fsm mode;
|
||||
* and don't touch Data+ in host mode for dual role config.
|
||||
*/
|
||||
if (ci_otg_is_fsm_mode(ci) || ci->role == CI_ROLE_HOST)
|
||||
return 0;
|
||||
|
||||
pm_runtime_get_sync(&ci->gadget.dev);
|
||||
|
||||
Reference in New Issue
Block a user