Subject: Re: [PATCH v3 02/16] e100: Support RXFCS feature flag.

From: Ben Greear <[email-masked]>
Date: Sat, 11 Feb 2012 08:21:48 -0800

On 02/11/2012 08:07 AM, Michał Mirosław wrote:
> 2012/2/11<[email-masked]>:
>> From: Ben Greear<[email-masked]>
> [...]
>> @@ -1951,9 +1956,11 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
>>         }
>>
>>         /* Get actual data size */
>> +       if (unlikely(dev->features&  NETIF_F_RXFCS))
>> +               fcs_pad = 4;
>>         actual_size = le16_to_cpu(rfd->actual_size)&  0x3FFF;
>> -       if (unlikely(actual_size>  RFD_BUF_LEN - sizeof(struct rfd)))
>> -               actual_size = RFD_BUF_LEN - sizeof(struct rfd);
>> +       if (unlikely(actual_size>  RFD_BUF_LEN + fcs_pad - sizeof(struct rfd)))
>> +               actual_size = RFD_BUF_LEN + fcs_pad - sizeof(struct rfd);
>
> BTW, Is this even triggered? I looks like this would indicate
> corruption in the descriptor.

No idea, but better safe than sorry unless someone can prove it never happens
in all cases...

Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com