diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2013-02-13 16:04:18 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2013-02-13 16:04:18 +0000 |
commit | 8ab78d10969f47e62881ae083e19828856fd2421 (patch) | |
tree | e90b3ac4a28150396c1a44068f5df39b579aeb65 /package/switch | |
parent | b8a84038a54c86d323955f264958a5bc1cb6102f (diff) | |
download | master-31e0f0ae-8ab78d10969f47e62881ae083e19828856fd2421.tar.gz master-31e0f0ae-8ab78d10969f47e62881ae083e19828856fd2421.tar.bz2 master-31e0f0ae-8ab78d10969f47e62881ae083e19828856fd2421.zip |
switch: improve robo_switch_enable()
This is based on a patch by jcharest and the Broadcom SDK.
SVN-Revision: 35583
Diffstat (limited to 'package/switch')
-rw-r--r-- | package/switch/src/switch-robo.c | 8 |
1 files changed, 6 insertions, 2 deletions
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 |