From 6d5c5bb13db3fd8e3dd0b82742b3957f41a4a3ac Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Thu, 24 May 2012 20:38:58 +0200 Subject: [PATCH] bcm63xx_enet: reset port link state in bcm_enetsw_open bcm_enetsw_open disables all ports, but does not reset their link state. This results in connected ports staying disabled after a ifdown/ifup cycle, since bcm_enetsw_phy_poll only enables them if their current state is different from the stored link state. Fix this by also resetting the port link state. Signed-off-by: Jonas Gorski --- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c @@ -2213,6 +2213,8 @@ static int bcm_enetsw_open(struct net_de enetsw_writeb(priv, ENETSW_PTCTRL_RXDIS_MASK | ENETSW_PTCTRL_TXDIS_MASK, ENETSW_PTCTRL_REG(i)); + + priv->sw_port_link[i] = 0; } /* reset mib */