switch: improve robo_switch_enable()

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

SVN-Revision: 35583
This commit is contained in:
Hauke Mehrtens 2013-02-13 16:04:18 +00:00
parent b8a84038a5
commit 8ab78d1096

View file

@ -237,10 +237,14 @@ static int robo_switch_enable(void)
return -EBUSY; return -EBUSY;
} }
/* No spanning tree for unmanaged mode */
last_port = (robo.devid == ROBO_DEVICE_ID_5398) ? last_port = (robo.devid == ROBO_DEVICE_ID_5398) ?
ROBO_PORT6_CTRL : ROBO_PORT3_CTRL; ROBO_PORT7_CTRL : ROBO_PORT4_CTRL;
for (i = ROBO_PORT0_CTRL; i < last_port + 1; i++) for (i = ROBO_PORT0_CTRL; i <= last_port; i++)
robo_write16(ROBO_CTRL_PAGE, i, 0); 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 #ifdef CONFIG_BCM47XX