diff options
author | Li Yang <leoli@freescale.com> | 2007-03-06 16:54:05 +0800 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-03-06 06:10:02 -0500 |
commit | 18babd38547a042a4bfd4154a014d1ad33373eb0 (patch) | |
tree | eef08234cb08d72622b89c91dd5b33d656da6bf2 | |
parent | a394f013f05ba083d8547551280e0309ca70b08d (diff) | |
download | op-kernel-dev-18babd38547a042a4bfd4154a014d1ad33373eb0.zip op-kernel-dev-18babd38547a042a4bfd4154a014d1ad33373eb0.tar.gz |
ucc_geth: returns NETDEV_TX_BUSY when BD ring is full
Returns NETDEV_TX_BUSY when BD ring is full.
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/net/ucc_geth.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 639e1e6..dab88b9 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c @@ -3607,6 +3607,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) if (bd == ugeth->confBd[txQ]) { if (!netif_queue_stopped(dev)) netif_stop_queue(dev); + return NETDEV_TX_BUSY; } ugeth->txBd[txQ] = bd; @@ -3622,7 +3623,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) spin_unlock_irq(&ugeth->lock); - return 0; + return NETDEV_TX_OK; } static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit) |