Subject: Re: [PATCH 1/2] net: sh_eth: Fix receive packet "exceeded" condition in sh_eth_rx()

From: Yoshihiro Shimoda <[email-masked]>
Date: Mon, 9 Jun 2014 20:11:54 +0900

Hello.

(2014/06/09 19:58), Sergei Shtylyov wrote:
> Hello.
> 
> On 09-06-2014 14:39, Yoshihiro Shimoda wrote:
> 
>> This patch fixes the packet "exceeded" condition in sh_eth_rx() when
>> RACT in an RX descriptor is not set and the "quota" is 0.
>> Otherwise, kernel panic happens because the "&n->poll_list" is deleted
>> twice in sh_eth_poll() which calls napi_complete() and net_rx_action().
> 
>> Signed-off-by: Kouei Abe <[email-masked]>
>> Signed-off-by: Yoshihiro Shimoda <[email-masked]>
>> ---
>>   drivers/net/ethernet/renesas/sh_eth.c |    8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
> 
>> diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
>> index 08ed9a3..ad0b5bd 100644
>> --- a/drivers/net/ethernet/renesas/sh_eth.c
>> +++ b/drivers/net/ethernet/renesas/sh_eth.c
> [...]
>> @@ -1508,7 +1506,7 @@ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota)
>>           sh_eth_write(ndev, EDRRR_R, EDRRR);
>>       }
>>
>> -    return exceeded;
>> +    return (*quota <= 0);
> 
>    Parens not needed here.

Thank you for the point. I will remove the parens.

Best regards,
Yoshihiro Shimoda

> WBR, Sergei