Message ID | 1396969110-3114-2-git-send-email-yegorslists@googlemail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: yegorslists@googlemail.com Date: Tue, 8 Apr 2014 16:58:30 +0200 > From: Yegor Yefremov <yegorslists@googlemail.com> > > CPSW shows following behavior: some stations in LAN don't > answer CPSW's ARP request. Kernel 3.2 could talk to all stations in > the same LAN. > > Use the same cpsw_ale_add_vlan procedure as in kernel 3.2. > > Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> The CPSW driver was not added to the tree until v3.3, so saying you're restoring behavior that existed in v3.2 doesn't make any sense at all. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Apr 8, 2014 at 8:15 PM, David Miller <davem@redhat.com> wrote: > From: yegorslists@googlemail.com > Date: Tue, 8 Apr 2014 16:58:30 +0200 > >> From: Yegor Yefremov <yegorslists@googlemail.com> >> >> CPSW shows following behavior: some stations in LAN don't >> answer CPSW's ARP request. Kernel 3.2 could talk to all stations in >> the same LAN. >> >> Use the same cpsw_ale_add_vlan procedure as in kernel 3.2. >> >> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> > > The CPSW driver was not added to the tree until v3.3, so saying > you're restoring behavior that existed in v3.2 doesn't make any > sense at all. It would make sense, if I had said, that it was TI's PSP kernel (http://arago-project.org/git/projects/?p=linux-am33x.git;a=commit;h=6afa003a0b06a0376c941436b38204ba2edc4a98). This was the first time dual_emac was introduced. I will include this info in v2. Today a new thread was opended on TI's forum concerning this issue: http://e2e.ti.com/support/arm/sitara_arm/f/791/p/333389/1162614.aspx Yegor -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c index 5d5fec6..aa06370 100644 --- a/drivers/net/ethernet/ti/cpsw.c +++ b/drivers/net/ethernet/ti/cpsw.c @@ -1040,11 +1040,13 @@ static inline void cpsw_add_dual_emac_def_ale_entries( else slave_write(slave, slave->port_vlan, CPSW2_PORT_VLAN); cpsw_ale_add_vlan(priv->ale, slave->port_vlan, port_mask, - port_mask, port_mask, 0); + 0, port_mask, port_mask); cpsw_ale_add_mcast(priv->ale, priv->ndev->broadcast, port_mask, ALE_VLAN, slave->port_vlan, 0); cpsw_ale_add_ucast(priv->ale, priv->mac_addr, priv->host_port, ALE_VLAN, slave->port_vlan); + cpsw_ale_add_vlan(priv->ale, 0, ALE_ALL_PORTS << priv->host_port, + ALE_ALL_PORTS << priv->host_port, priv->host_port, 0); } static void soft_reset_slave(struct cpsw_slave *slave)