usb/fsl_qe_udc: clear data toggle on clear halt request
authorLi Yang <leoli@freescale.com>
Wed, 24 Sep 2008 07:50:27 +0000 (15:50 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 17 Oct 2008 21:41:08 +0000 (14:41 -0700)
Fix to comply with USB spec.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/fsl_qe_udc.c

index d9aad6894b3e6057901ccd496d3283f5340b91f8..1fe8b44787b332c93e4b8261243c08e3816b2d27 100644 (file)
@@ -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);