Re: [PATCH] fec: fix tx bounce handling
From: Eric Dumazet <hidden>
Date: 2012-02-06 16:25:13
Le lundi 06 février 2012 à 17:09 +0100, Tim Sander a écrit :
Hi I forward ported the patch i have for 3.0-rt (which was working on a quick test) to the net-dev branch with the patch from Eric mixed in. But a quick test revealed that dmesg is full of: eth0: tx queue full!. Not good! Any suggestions on this?
Please dont mix things. My patch has nothing to do with the TX ring handling.
quoted hunk ↗ jump to hunk
Tim Heres my patch for 3.3:diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c index 336edd7..74d5865 100644 --- a/drivers/net/ethernet/freescale/fec.c +++ b/drivers/net/ethernet/freescale/fec.c@@ -284,11 +284,6 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *ndev) unsigned short status; unsigned long flags; - if (!fep->link) {
We first must fix the driver before removing this work around.
- /* Link is down or autonegotiation is in progress. */ - return NETDEV_TX_BUSY; - } -
In fact, returning NETDEV_TX_BUSY here is proof driver is buggy. We should not enter fec_enet_start_xmit() is device is not ready to send frames. There are missing netif_stop_queue(dev) in this driver.