diff options
author | Jonas Gorski <jogo@openwrt.org> | 2012-07-31 14:27:31 +0000 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2012-07-31 14:27:31 +0000 |
commit | 656b2063431be41fa43c993bfe68c3eed8da815c (patch) | |
tree | 819aa27e4835bbf4bb18d751762caada193f2008 /target/linux/brcm63xx/patches-3.3/416-bcm63xx_enet-reset-port-link-state-in-bcm_enetsw_ope.patch | |
parent | 6d1dc25f1be6f0c05cb9aab7e91c2c8adafdb731 (diff) | |
download | master-187ad058-656b2063431be41fa43c993bfe68c3eed8da815c.tar.gz master-187ad058-656b2063431be41fa43c993bfe68c3eed8da815c.tar.bz2 master-187ad058-656b2063431be41fa43c993bfe68c3eed8da815c.zip |
bcm63xx: update enetswitch driver
Update enetswith driver with latest fixes and additions.
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32921 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm63xx/patches-3.3/416-bcm63xx_enet-reset-port-link-state-in-bcm_enetsw_ope.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-3.3/416-bcm63xx_enet-reset-port-link-state-in-bcm_enetsw_ope.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.3/416-bcm63xx_enet-reset-port-link-state-in-bcm_enetsw_ope.patch b/target/linux/brcm63xx/patches-3.3/416-bcm63xx_enet-reset-port-link-state-in-bcm_enetsw_ope.patch new file mode 100644 index 0000000000..6d8e5a72db --- /dev/null +++ b/target/linux/brcm63xx/patches-3.3/416-bcm63xx_enet-reset-port-link-state-in-bcm_enetsw_ope.patch @@ -0,0 +1,28 @@ +From 6d5c5bb13db3fd8e3dd0b82742b3957f41a4a3ac Mon Sep 17 00:00:00 2001 +From: Jonas Gorski <jonas.gorski@gmail.com> +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 <jonas.gorski@gmail.com> +--- + 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 */ |