RE: [PATCH v2] usb: gadget: forbid queuing request to a disabled ep

From: Felipe Balbi
Date: Wed Dec 16 2015 - 11:52:26 EST



Hi,

"Du, Changbin" <changbin.du@xxxxxxxxx> writes:
>> diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
>> index 3d583a1..b566a4b 100644
>> --- a/include/linux/usb/gadget.h
>> +++ b/include/linux/usb/gadget.h
>> @@ -402,6 +402,9 @@ static inline void usb_ep_free_request(struct usb_ep
>> *ep,
>> static inline int usb_ep_queue(struct usb_ep *ep,
>> struct usb_request *req, gfp_t gfp_flags)
>> {
>> + if (WARN_ON_ONCE(!ep->enabled))
>> + return -ESHUTDOWN;
>> +
>> return ep->ops->queue(ep, req, gfp_flags);
>> }
>>
>> --
>> 2.5.0
>
> With this patch, ep0 transfer breaks. it because the 'enabled' of ep0
> is not set. Ep0 is not enabled by usb_ep_enable, but in UDC driver. So
> there need another patch to set ep0's flag also.

yeah, we don't like regressions :-) So the fix should come before
$subject to avoid a regression.

--
balbi

Attachment: signature.asc
Description: PGP signature