]> git.baikalelectronics.ru Git - kernel.git/commit
net/fec: Don't let ndo_start_xmit return NETDEV_TX_BUSY without link
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 30 Jul 2013 09:29:40 +0000 (11:29 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Jul 2013 23:05:04 +0000 (16:05 -0700)
commit6c1cb8d98b94413fc9252b6f24621046d1e4e203
tree1875a691e59369b82ecad4dad563302aadbc1662
parent74bd1e0eb9e149fd902a4900da2d4915b4d869c7
net/fec: Don't let ndo_start_xmit return NETDEV_TX_BUSY without link

Don't test for having link and let hardware deal with this situation.

Without this patch I see a machine running an -rt patched Linux being
stuck in sch_direct_xmit when it looses link while there is still a
packet to be sent. In this case the fec_enet_start_xmit routine returned
NETDEV_TX_BUSY which makes the network stack reschedule the packet and
so sch_direct_xmit calls fec_enet_start_xmit again.
I failed to reproduce a complete hang without -rt, but I think the
problem exists there, too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_main.c