aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale/fec.h
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2013-03-14 05:12:01 +0000
committerDavid S. Miller <davem@davemloft.net>2013-03-15 08:46:48 -0400
commitd97e74976982a35168c7f131cce0d93537337a26 (patch)
treeda808857fddb6f987c1982b2348555afd247b80e /drivers/net/ethernet/freescale/fec.h
parentskb: Propagate pfmemalloc on skb from head page only (diff)
downloadlinux-dev-d97e74976982a35168c7f131cce0d93537337a26.tar.xz
linux-dev-d97e74976982a35168c7f131cce0d93537337a26.zip
net: fec: restart the FEC when PHY speed changes
Proviously we would only restart the FEC when PHY link or duplex state changed. PHY does not always bring down the link for speed changes, in which case we would not detect any change and keep FEC running. Switching link speed without restarting the FEC results in the FEC being stuck in an indefinite state, generating error conditions for every packet. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/fec.h')
-rw-r--r--drivers/net/ethernet/freescale/fec.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
index f5390071efd0..eb4372962839 100644
--- a/drivers/net/ethernet/freescale/fec.h
+++ b/drivers/net/ethernet/freescale/fec.h
@@ -240,6 +240,7 @@ struct fec_enet_private {
phy_interface_t phy_interface;
int link;
int full_duplex;
+ int speed;
struct completion mdio_done;
int irq[FEC_IRQ_NUM];
int bufdesc_ex;