diff options
author | Li Yang <leoli@freescale.com> | 2007-03-06 03:54:05 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-03-06 06:10:02 -0500 |
commit | 18babd38547a042a4bfd4154a014d1ad33373eb0 (patch) | |
tree | eef08234cb08d72622b89c91dd5b33d656da6bf2 /drivers/net | |
parent | a394f013f05ba083d8547551280e0309ca70b08d (diff) |
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>
Diffstat (limited to 'drivers/net')
-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 639e1e6913bf..dab88b958d6e 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) | |||
3607 | if (bd == ugeth->confBd[txQ]) { | 3607 | if (bd == ugeth->confBd[txQ]) { |
3608 | if (!netif_queue_stopped(dev)) | 3608 | if (!netif_queue_stopped(dev)) |
3609 | netif_stop_queue(dev); | 3609 | netif_stop_queue(dev); |
3610 | return NETDEV_TX_BUSY; | ||
3610 | } | 3611 | } |
3611 | 3612 | ||
3612 | ugeth->txBd[txQ] = bd; | 3613 | ugeth->txBd[txQ] = bd; |
@@ -3622,7 +3623,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
3622 | 3623 | ||
3623 | spin_unlock_irq(&ugeth->lock); | 3624 | spin_unlock_irq(&ugeth->lock); |
3624 | 3625 | ||
3625 | return 0; | 3626 | return NETDEV_TX_OK; |
3626 | } | 3627 | } |
3627 | 3628 | ||
3628 | static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit) | 3629 | static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit) |