[PATCH] ibm_newemac: Fixes entry of short packets

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Jun 24 09:20:57 EST 2008


On Mon, 2008-06-23 at 14:55 +0200, Stefan Roese wrote:
> From: Sathya Narayanan <sathyan at teamf1.com>
> 
> Short packets has to be discarded by the driver. So this patch addresses the
> issue of discarding the short packets of size lesser then ethernet header
> size.

You are freeing the skb, why ? Shouldn't we just keep the skb in the
ring for further rx ?

> Signed-off-by: Sathya Narayanan <sathyan at teamf1.com>
> Signed-off-by: Stefan Roese <sr at denx.de>
> ---
>  drivers/net/ibm_newemac/core.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
> index 6dfc2c9..aa407b2 100644
> --- a/drivers/net/ibm_newemac/core.c
> +++ b/drivers/net/ibm_newemac/core.c
> @@ -1652,6 +1652,13 @@ static int emac_poll_rx(void *param, int budget)
>  
>  		skb_put(skb, len);
>  	push_packet:
> +		if (skb->len < ETH_HLEN) {
> +			dev_kfree_skb(skb);
> +			printk(KERN_WARNING "%s: short packets dropped\n",
> +			       dev->ndev->name);
> +			++dev->estats.rx_dropped_stack;
> +			goto next;
> +		}
>  		skb->dev = dev->ndev;
>  		skb->protocol = eth_type_trans(skb, dev->ndev);
>  		emac_rx_csum(dev, skb, ctrl);




More information about the Linuxppc-dev mailing list