Revert "net: xilinx: axienet: Fix dangling multicast addresses"
This reverts commit ae9628b4fa
.
This commit is contained in:
parent
4791d94bc3
commit
09bc706e3c
2 changed files with 12 additions and 10 deletions
|
@ -169,7 +169,6 @@
|
|||
#define XAE_UAW0_OFFSET 0x00000700 /* Unicast address word 0 */
|
||||
#define XAE_UAW1_OFFSET 0x00000704 /* Unicast address word 1 */
|
||||
#define XAE_FMI_OFFSET 0x00000708 /* Frame Filter Control */
|
||||
#define XAE_FFE_OFFSET 0x0000070C /* Frame Filter Enable */
|
||||
#define XAE_AF0_OFFSET 0x00000710 /* Address Filter 0 */
|
||||
#define XAE_AF1_OFFSET 0x00000714 /* Address Filter 1 */
|
||||
|
||||
|
|
|
@ -409,7 +409,7 @@ static int netdev_set_mac_address(struct net_device *ndev, void *p)
|
|||
*/
|
||||
static void axienet_set_multicast_list(struct net_device *ndev)
|
||||
{
|
||||
int i = 0;
|
||||
int i;
|
||||
u32 reg, af0reg, af1reg;
|
||||
struct axienet_local *lp = netdev_priv(ndev);
|
||||
|
||||
|
@ -431,6 +431,7 @@ static void axienet_set_multicast_list(struct net_device *ndev)
|
|||
reg &= ~XAE_FMI_PM_MASK;
|
||||
axienet_iow(lp, XAE_FMI_OFFSET, reg);
|
||||
|
||||
i = 0;
|
||||
netdev_for_each_mc_addr(ha, ndev) {
|
||||
if (i >= XAE_MULTICAST_CAM_TABLE_NUM)
|
||||
break;
|
||||
|
@ -449,7 +450,6 @@ static void axienet_set_multicast_list(struct net_device *ndev)
|
|||
axienet_iow(lp, XAE_FMI_OFFSET, reg);
|
||||
axienet_iow(lp, XAE_AF0_OFFSET, af0reg);
|
||||
axienet_iow(lp, XAE_AF1_OFFSET, af1reg);
|
||||
axienet_iow(lp, XAE_FFE_OFFSET, 1);
|
||||
i++;
|
||||
}
|
||||
} else {
|
||||
|
@ -457,14 +457,17 @@ static void axienet_set_multicast_list(struct net_device *ndev)
|
|||
reg &= ~XAE_FMI_PM_MASK;
|
||||
|
||||
axienet_iow(lp, XAE_FMI_OFFSET, reg);
|
||||
dev_info(&ndev->dev, "Promiscuous mode disabled.\n");
|
||||
}
|
||||
|
||||
for (; i < XAE_MULTICAST_CAM_TABLE_NUM; i++) {
|
||||
reg = axienet_ior(lp, XAE_FMI_OFFSET) & 0xFFFFFF00;
|
||||
reg |= i;
|
||||
axienet_iow(lp, XAE_FMI_OFFSET, reg);
|
||||
axienet_iow(lp, XAE_FFE_OFFSET, 0);
|
||||
for (i = 0; i < XAE_MULTICAST_CAM_TABLE_NUM; i++) {
|
||||
reg = axienet_ior(lp, XAE_FMI_OFFSET) & 0xFFFFFF00;
|
||||
reg |= i;
|
||||
|
||||
axienet_iow(lp, XAE_FMI_OFFSET, reg);
|
||||
axienet_iow(lp, XAE_AF0_OFFSET, 0);
|
||||
axienet_iow(lp, XAE_AF1_OFFSET, 0);
|
||||
}
|
||||
|
||||
dev_info(&ndev->dev, "Promiscuous mode disabled.\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue