aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Yang <leoli@freescale.com>2008-09-24 03:50:27 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-10-17 17:41:08 -0400
commit15d5a9acb1df1e22a7ba60aaaad758d9d71e5ea7 (patch)
tree1a52edecdcb5a0a540cb94eb7a792f9ba73d5df8
parent928dfa6c625c17d810ae3ee6c73dc37fc4b91bcd (diff)
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>
-rw-r--r--drivers/usb/gadget/fsl_qe_udc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c
index d9aad6894b3e..1fe8b44787b3 100644
--- a/drivers/usb/gadget/fsl_qe_udc.c
+++ b/drivers/usb/gadget/fsl_qe_udc.c
@@ -1815,6 +1815,10 @@ static int qe_ep_set_halt(struct usb_ep *_ep, int value)
1815 udc->ep0_state = WAIT_FOR_SETUP; 1815 udc->ep0_state = WAIT_FOR_SETUP;
1816 udc->ep0_dir = 0; 1816 udc->ep0_dir = 0;
1817 } 1817 }
1818
1819 /* set data toggle to DATA0 on clear halt */
1820 if (value == 0)
1821 ep->data01 = 0;
1818out: 1822out:
1819 dev_vdbg(udc->dev, "%s %s halt stat %d\n", ep->ep.name, 1823 dev_vdbg(udc->dev, "%s %s halt stat %d\n", ep->ep.name,
1820 value ? "set" : "clear", status); 1824 value ? "set" : "clear", status);