From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 8 Nov 2011 00:33:15 +0000 (+0000)
Subject: ar71xx: on ar7240, exclude ports from their own port vlan destination mask
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=94309039b773185d3858d0d2f79808784186cb21;p=librecmc%2Flibrecmc.git

ar71xx: on ar7240, exclude ports from their own port vlan destination mask

SVN-Revision: 28850
---

diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c
index 534af4b9f9..5e02303cbc 100644
--- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c
+++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c
@@ -477,7 +477,6 @@ static void ar7240sw_setup_port(struct ar7240sw *as, unsigned port, u8 portmask)
 {
 	struct mii_bus *mii = as->mii_bus;
 	u32 ctrl;
-	u32 dest_ports;
 	u32 vlan;
 
 	ctrl = AR7240_PORT_CTRL_STATE_FORWARD | AR7240_PORT_CTRL_LEARN |
@@ -525,7 +524,7 @@ static void ar7240sw_setup_port(struct ar7240sw *as, unsigned port, u8 portmask)
 	/* allow the port to talk to all other ports, but exclude its
 	 * own ID to prevent frames from being reflected back to the
 	 * port that they came from */
-	dest_ports = AR7240_PORT_MASK_BUT(port);
+	portmask &= AR7240_PORT_MASK_BUT(port);
 
 	/* set default VID and and destination ports for this VLAN */
 	vlan |= (portmask << AR7240_PORT_VLAN_DEST_PORTS_S);