author | David Brownell <dbrownell@users.sourceforge.net> | |
Thu, 2 Apr 2009 17:16:11 +0000 (10:16 -0700) | ||
committer | Greg Kroah-Hartman <gregkh@suse.de> | |
Tue, 16 Jun 2009 04:44:41 +0000 (21:44 -0700) | ||
commit | 1de00dae8036dfee44ebea2c38f942fb6072e0b7 | |
tree | 35d384cb2fe51ac384da554042450e7d24d190b0 | tree | snapshot (tar.xz tar.gz zip) |
parent | f7f9d63eac12b345d6243d1d608b7944a05be921 | commit | diff |
musb: make initial HNP roleswitch work (v2)
Minor HNP bugfixes, so the initial role switch works:
- A-Device:
* disconnect-during-suspend enters A_PERIPHERAL state
* kill OTG timer after reset as A_PERIPHERAL ...
* ... and also pass that reset to the gadget
* once HNP succeeds, clear the "ignore_disconnect" flag
* from A_PERIPHERAL, disconnect transitions to A_WAIT_BCON
- B-Device:
* kill OTG timer on entry to B_HOST state (HNP succeeded)
* once HNP succeeds, clear "ignore_disconnect" flag
* kick the root hub only _after_ the state is adjusted
Other state transitions are left alone. Notably, exit paths from
the "roles have switched" state ... A_PERIPHERAL handling of that
stays seriously broken.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Minor HNP bugfixes, so the initial role switch works:
- A-Device:
* disconnect-during-suspend enters A_PERIPHERAL state
* kill OTG timer after reset as A_PERIPHERAL ...
* ... and also pass that reset to the gadget
* once HNP succeeds, clear the "ignore_disconnect" flag
* from A_PERIPHERAL, disconnect transitions to A_WAIT_BCON
- B-Device:
* kill OTG timer on entry to B_HOST state (HNP succeeded)
* once HNP succeeds, clear "ignore_disconnect" flag
* kick the root hub only _after_ the state is adjusted
Other state transitions are left alone. Notably, exit paths from
the "roles have switched" state ... A_PERIPHERAL handling of that
stays seriously broken.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/musb_core.c | diff | blob | history | |
drivers/usb/musb/musb_gadget.c | diff | blob | history | |
drivers/usb/musb/musb_virthub.c | diff | blob | history |