qlge: bugfix: Pad outbound frames smaller than 60 bytes.
authorRon Mercer <ron.mercer@qlogic.com>
Wed, 11 Mar 2009 11:55:43 +0000 (11:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Mar 2009 18:27:25 +0000 (11:27 -0700)
With some asic configurations xmit of frames smaller than 60 bytes may
fail.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/qlge/qlge_main.c

index 00c37c0f8a905dd8a558f62fbc6de338605d5c72..91191f761fbaae3ae1bc15c0d9a05560c885b3da 100644 (file)
@@ -1941,6 +1941,9 @@ static int qlge_send(struct sk_buff *skb, struct net_device *ndev)
 
        tx_ring = &qdev->tx_ring[tx_ring_idx];
 
+       if (skb_padto(skb, ETH_ZLEN))
+               return NETDEV_TX_OK;
+
        if (unlikely(atomic_read(&tx_ring->tx_count) < 2)) {
                QPRINTK(qdev, TX_QUEUED, INFO,
                        "%s: shutting down tx queue %d du to lack of resources.\n",