Subject: [PATCH 1/2] USB: at91: fix the number of endpoint parameter

From: [email-masked] (Bo Shen)
Date: Mon, 20 Jan 2014 11:39:18 +0800

Hi J,

On 01/18/2014 01:20 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 10:59 Fri 17 Jan     , Bo Shen wrote:
>> In sama5d3 SoC, there are 16 endpoints. As the USBA_NR_ENDPOINTS
>> is only 7. So, fix it for sama5d3 SoC using the udc->num_ep.
>>
>> Signed-off-by: Bo Shen <[email-masked]>
>> ---
>>
>>   drivers/usb/gadget/atmel_usba_udc.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
>> index 2cb52e0..7e67a81 100644
>> --- a/drivers/usb/gadget/atmel_usba_udc.c
>> +++ b/drivers/usb/gadget/atmel_usba_udc.c
>> @@ -1670,7 +1670,7 @@ static irqreturn_t usba_udc_irq(int irq, void *devid)
>>   	if (ep_status) {
>>   		int i;
>>
>> -		for (i = 0; i < USBA_NR_ENDPOINTS; i++)
>> +		for (i = 0; i < udc->num_ep; i++)
>
> no the limit need to specified in the driver as a checkpoint by the compatible
> or platform driver id

You mean, we should not trust the data passed from dt node or platform 
data? Or do you think we should do double confirm?

> Best Regards,
> J.
>>   			if (ep_status & (1 << i)) {
>>   				if (ep_is_control(&udc->usba_ep[i]))
>>   					usba_control_irq(udc, &udc->usba_ep[i]);
>> --
>> 1.8.5.2
>>

Best Regards,
Bo Shen