From 8ab78d10969f47e62881ae083e19828856fd2421 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Wed, 13 Feb 2013 16:04:18 +0000
Subject: [PATCH] switch: improve robo_switch_enable()

This is based on a patch by jcharest and the Broadcom SDK.

SVN-Revision: 35583
---
 package/switch/src/switch-robo.c | 8 ++++++--
 1 file 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
-- 
GitLab