Stephen Hemminger <[EMAIL PROTECTED]> :
[...]
> diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
> index 9997081..4052bfe 100644
> --- a/drivers/net/mv643xx_eth.c
> +++ b/drivers/net/mv643xx_eth.c
> @@ -1191,25 +1191,23 @@ static int mv643xx_eth_start_xmit(struct
>       struct net_device_stats *stats = &mp->stats;
>       unsigned long flags;
>  
> -     BUG_ON(netif_queue_stopped(dev));
> -     BUG_ON(skb == NULL);
> -
> -     if (mp->tx_ring_size - mp->tx_desc_count < MAX_DESCS_PER_SKB) {
> -             printk(KERN_ERR "%s: transmit with queue full\n", dev->name);
> -             netif_stop_queue(dev);
> -             return 1;
> -     }
> -
> -     if (has_tiny_unaligned_frags(skb)) {
> -             if (__skb_linearize(skb)) {
> -                     stats->tx_dropped++;
> +     if (has_tiny_unaligned_frags(skb) && __skb_linearize(skb)) {
> +             stats->tx_dropped++;
> +             if (net_ratelimit())
>                       printk(KERN_DEBUG "%s: failed to linearize tiny "
> -                                     "unaligned fragment\n", dev->name);
> -                     return 1;
> -             }
> +                            "unaligned fragment\n", dev->name);
> +             return NETDEV_TX_OK;
>       }

It seems to propagate a leak from the initial codebase.

-- 
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to