projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groec...
[cascardo/linux.git]
/
drivers
/
usb
/
musb
/
musb_gadget_ep0.c
diff --git
a/drivers/usb/musb/musb_gadget_ep0.c
b/drivers/usb/musb/musb_gadget_ep0.c
index
21b9788
..
6dd03f4
100644
(file)
--- a/
drivers/usb/musb/musb_gadget_ep0.c
+++ b/
drivers/usb/musb/musb_gadget_ep0.c
@@
-261,6
+261,7
@@
__acquires(musb->lock)
ctrlrequest->wIndex & 0x0f;
struct musb_ep *musb_ep;
struct musb_hw_ep *ep;
ctrlrequest->wIndex & 0x0f;
struct musb_ep *musb_ep;
struct musb_hw_ep *ep;
+ struct musb_request *request;
void __iomem *regs;
int is_in;
u16 csr;
void __iomem *regs;
int is_in;
u16 csr;
@@
-302,6
+303,14
@@
__acquires(musb->lock)
musb_writew(regs, MUSB_RXCSR, csr);
}
musb_writew(regs, MUSB_RXCSR, csr);
}
+ /* Maybe start the first request in the queue */
+ request = to_musb_request(
+ next_request(musb_ep));
+ if (!musb_ep->busy && request) {
+ DBG(3, "restarting the request\n");
+ musb_ep_restart(musb, request);
+ }
+
/* select ep0 again */
musb_ep_select(mbase, 0);
} break;
/* select ep0 again */
musb_ep_select(mbase, 0);
} break;
@@
-402,6
+411,9
@@
__acquires(musb->lock)
musb->g.a_alt_hnp_support = 1;
break;
#endif
musb->g.a_alt_hnp_support = 1;
break;
#endif
+ case USB_DEVICE_DEBUG_MODE:
+ handled = 0;
+ break;
stall:
default:
handled = -EINVAL;
stall:
default:
handled = -EINVAL;