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> |
||
|---|---|---|
| .. | ||
| fs_enet | ||
| fec.h | ||
| fec_main.c | ||
| fec_mpc52xx.c | ||
| fec_mpc52xx.h | ||
| fec_mpc52xx_phy.c | ||
| fec_ptp.c | ||
| fsl_pq_mdio.c | ||
| gianfar.c | ||
| gianfar.h | ||
| gianfar_ethtool.c | ||
| gianfar_ptp.c | ||
| gianfar_sysfs.c | ||
| Kconfig | ||
| Makefile | ||
| ucc_geth.c | ||
| ucc_geth.h | ||
| ucc_geth_ethtool.c | ||
| xgmac_mdio.c | ||