From: Li Yang Date: Mon, 19 Mar 2007 03:58:02 +0000 (+0800) Subject: Revert "ucc_geth: returns NETDEV_TX_BUSY when BD ring is full" X-Git-Tag: v2.6.21-rc5~21^2~9 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f6881b846e3d97ee15f6ab1f6529cd1cc2f4c28;p=linux-2.6 Revert "ucc_geth: returns NETDEV_TX_BUSY when BD ring is full" This reverts commit 18babd38547a042a4bfd4154a014d1ad33373eb0. Michael Barkowski points out that it's wrong, and I agree. The patch causes a problem rather than fixes one after another patch "ucc_geth: Fix BD processing" was applied. Before that patch, current packet should be blocked. However after the patch current packet is ok and we only need to block next. Reported-by: Michael Barkowski Signed-off-by: Li Yang Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index dab88b958d..639e1e6913 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c @@ -3607,7 +3607,6 @@ 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; @@ -3623,7 +3622,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) spin_unlock_irq(&ugeth->lock); - return NETDEV_TX_OK; + return 0; } static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit)