]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/usb/common/usb-otg-fsm.c
MLK-10279-1 usb: common: otg-fsm: only signal connect after switching to peripheral
[karo-tx-linux.git] / drivers / usb / common / usb-otg-fsm.c
index df8a14b99840ec20d36697cc1ef2817b73619eee..0cc68b5743365dc6fa9e3bcdc4ae208e369014f6 100644 (file)
@@ -154,9 +154,9 @@ static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state)
                break;
        case OTG_STATE_B_PERIPHERAL:
                otg_chrg_vbus(fsm, 0);
-               otg_loc_conn(fsm, 1);
                otg_loc_sof(fsm, 0);
                otg_set_protocol(fsm, PROTO_GADGET);
+               otg_loc_conn(fsm, 1);
                break;
        case OTG_STATE_B_WAIT_ACON:
                otg_chrg_vbus(fsm, 0);
@@ -219,10 +219,10 @@ static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state)
 
                break;
        case OTG_STATE_A_PERIPHERAL:
-               otg_loc_conn(fsm, 1);
                otg_loc_sof(fsm, 0);
                otg_set_protocol(fsm, PROTO_GADGET);
                otg_drv_vbus(fsm, 1);
+               otg_loc_conn(fsm, 1);
                otg_add_timer(fsm, A_BIDL_ADIS);
                break;
        case OTG_STATE_A_WAIT_VFALL: