From: Hauke Mehrtens Date: Wed, 13 Feb 2013 16:04:18 +0000 (+0000) Subject: switch: improve robo_switch_enable() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=8ab78d10969f47e62881ae083e19828856fd2421;p=openwrt%2Fstaging%2Fdedeckeh.git switch: improve robo_switch_enable() This is based on a patch by jcharest and the Broadcom SDK. SVN-Revision: 35583 --- diff --git a/package/switch/src/switch-robo.c b/package/switch/src/switch-robo.c index 0e39c8fe56..41f0c1826d 100644 --- a/package/switch/src/switch-robo.c +++ b/package/switch/src/switch-robo.c @@ -237,10 +237,14 @@ static int robo_switch_enable(void) return -EBUSY; } + /* No spanning tree for unmanaged mode */ last_port = (robo.devid == ROBO_DEVICE_ID_5398) ? - ROBO_PORT6_CTRL : ROBO_PORT3_CTRL; - for (i = ROBO_PORT0_CTRL; i < last_port + 1; i++) + ROBO_PORT7_CTRL : ROBO_PORT4_CTRL; + for (i = ROBO_PORT0_CTRL; i <= last_port; i++) robo_write16(ROBO_CTRL_PAGE, i, 0); + + /* No spanning tree on IMP port too */ + robo_write16(ROBO_CTRL_PAGE, ROBO_IM_PORT_CTRL, 0); } #ifdef CONFIG_BCM47XX