Przeglądaj źródła

usb/fsl_qe_udc: clear data toggle on clear halt request

Fix to comply with USB spec.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Li Yang 16 lat temu
rodzic
commit
15d5a9acb1
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      drivers/usb/gadget/fsl_qe_udc.c

+ 4 - 0
drivers/usb/gadget/fsl_qe_udc.c

@@ -1815,6 +1815,10 @@ static int qe_ep_set_halt(struct usb_ep *_ep, int value)
 		udc->ep0_state = WAIT_FOR_SETUP;
 		udc->ep0_dir = 0;
 	}
+
+	/* set data toggle to DATA0 on clear halt */
+	if (value == 0)
+		ep->data01 = 0;
 out:
 	dev_vdbg(udc->dev, "%s %s halt stat %d\n", ep->ep.name,
 			value ?  "set" : "clear", status);