[PATCH 3/5] usb: isp1760: udc: add missing usb_ep_set_maxpacket_limit()
Robert Baldyga
r.baldyga at hackerion.com
Tue Jul 7 09:24:30 PDT 2015
On 07/07/2015 05:01 PM, Dan Carpenter wrote:
> On Tue, Jul 07, 2015 at 04:02:51PM +0200, Robert Baldyga wrote:
>> Should use usb_ep_set_maxpacket_limit instead of setting
>> maxpacket value manually.
>>
>
> This is a behavior change, right, since now we're setting
> ep->ep.maxpacket and ep->ep.maxpacket_limit where before we only set
> the first. I don't understand. This patch description is not clear.
Since maxpacket_limit was introduced all UDC drivers should set it, as
it is used by epautoconf. The ep.maxpacket_limit contains actual maximum
maxpacket value supported by hardware, ep.maxpacket is set only for
backward compatibility. Hence setting maxpacket manually instead of
using usb_ep_set_maxpacket_limit() is actually a bug.
I will add better description to commit message.
>
>> Signed-off-by: Robert Baldyga <r.baldyga at samsung.com>
>> ---
>> drivers/usb/isp1760/isp1760-udc.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/isp1760/isp1760-udc.c b/drivers/usb/isp1760/isp1760-udc.c
>> index 18ebf5b1..3699962 100644
>> --- a/drivers/usb/isp1760/isp1760-udc.c
>> +++ b/drivers/usb/isp1760/isp1760-udc.c
>> @@ -1382,11 +1382,11 @@ static void isp1760_udc_init_eps(struct isp1760_udc *udc)
>> * This fits in the 8kB FIFO without double-buffering.
>> */
>> if (ep_num == 0) {
>> - ep->ep.maxpacket = 64;
>> + usb_ep_set_maxpacket_limit(&ep->ep, 64);
>> ep->maxpacket = 64;
>> udc->gadget.ep0 = &ep->ep;
>> } else {
>> - ep->ep.maxpacket = 512;
>> + usb_ep_set_maxpacket_limit(&ep->ep, 512);
>> ep->maxpacket = 0;
>> list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
>> }
Thanks,
Robert Baldyga
More information about the linux-arm-kernel
mailing list