diff options
author | Li Yang <leoli@freescale.com> | 2008-09-24 15:50:27 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-17 14:41:08 -0700 |
commit | 15d5a9acb1df1e22a7ba60aaaad758d9d71e5ea7 (patch) | |
tree | 1a52edecdcb5a0a540cb94eb7a792f9ba73d5df8 /drivers/usb/gadget | |
parent | 928dfa6c625c17d810ae3ee6c73dc37fc4b91bcd (diff) | |
download | op-kernel-dev-15d5a9acb1df1e22a7ba60aaaad758d9d71e5ea7.zip op-kernel-dev-15d5a9acb1df1e22a7ba60aaaad758d9d71e5ea7.tar.gz |
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>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/fsl_qe_udc.c | 4 |
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 d9aad68..1fe8b44 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) 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); |