xircom_cb should return NETDEV_TX_BUSY when no descriptors available

Changes in other networking paths uncovered a bug in the xircom_cb
driver which made the kernel spew lots of the following error messages:

  BUG eth1 code -5 qlen 0

It turned out that the driver returned -EIO when there was no
descriptor available for sending packets. It should return
NETDEV_TX_BUSY instead. This was discussed on the netdev list before,
see http://thread.gmane.org/gmane.linux.network/84603 .

Signed-off-by: Erik Mouw <mouw@nl.linux.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Erik Mouw 2008-02-04 18:56:54 +01:00 committed by Jeff Garzik
parent 6c04a51508
commit 06f7525be4

View File

@ -441,7 +441,7 @@ static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev)
spin_unlock_irqrestore(&card->lock,flags); spin_unlock_irqrestore(&card->lock,flags);
trigger_transmit(card); trigger_transmit(card);
return -EIO; return NETDEV_TX_BUSY;
} }