diff options
-rw-r--r-- | include/linux/usb/gadget.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index 0ebedaec075d..0460a746480c 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h | |||
@@ -33,7 +33,8 @@ struct usb_ep; | |||
33 | * @short_not_ok: When reading data, makes short packets be | 33 | * @short_not_ok: When reading data, makes short packets be |
34 | * treated as errors (queue stops advancing till cleanup). | 34 | * treated as errors (queue stops advancing till cleanup). |
35 | * @complete: Function called when request completes, so this request and | 35 | * @complete: Function called when request completes, so this request and |
36 | * its buffer may be re-used. | 36 | * its buffer may be re-used. The function will always be called with |
37 | * interrupts disabled, and it must not sleep. | ||
37 | * Reads terminate with a short packet, or when the buffer fills, | 38 | * Reads terminate with a short packet, or when the buffer fills, |
38 | * whichever comes first. When writes terminate, some data bytes | 39 | * whichever comes first. When writes terminate, some data bytes |
39 | * will usually still be in flight (often in a hardware fifo). | 40 | * will usually still be in flight (often in a hardware fifo). |
@@ -271,7 +272,10 @@ static inline void usb_ep_free_request(struct usb_ep *ep, | |||
271 | * (Note that some USB device controllers disallow protocol stall responses | 272 | * (Note that some USB device controllers disallow protocol stall responses |
272 | * in some cases.) When control responses are deferred (the response is | 273 | * in some cases.) When control responses are deferred (the response is |
273 | * written after the setup callback returns), then usb_ep_set_halt() may be | 274 | * written after the setup callback returns), then usb_ep_set_halt() may be |
274 | * used on ep0 to trigger protocol stalls. | 275 | * used on ep0 to trigger protocol stalls. Depending on the controller, |
276 | * it may not be possible to trigger a status-stage protocol stall when the | ||
277 | * data stage is over, that is, from within the response's completion | ||
278 | * routine. | ||
275 | * | 279 | * |
276 | * For periodic endpoints, like interrupt or isochronous ones, the usb host | 280 | * For periodic endpoints, like interrupt or isochronous ones, the usb host |
277 | * arranges to poll once per interval, and the gadget driver usually will | 281 | * arranges to poll once per interval, and the gadget driver usually will |