Re: [PATCH] net/fec: call netif_carrier_off when not having link
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-07-25 16:03:55
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-07-25 16:03:55
On Thu, 25 Jul 2013 15:27:55 +0200 Uwe Kleine-König [off-list ref] wrote:
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 0642006..631bd5a 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c@@ -280,11 +280,6 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *ndev) unsigned short status; unsigned int index; - if (!fep->link) { - /* Link is down or auto-negotiation is in progress. */ - return NETDEV_TX_BUSY; - } -
That is a bug anyway. Since it would cause spin loop in transmit code (even without -rt). If the driver cared to test it (most drivers just let hardware deal with this situation), then it should free packet and return TX_OK.