Selaa lähdekoodia

Merge pull request #169 in PROCESSOR-SDK/processor-sdk-linux from PLSDK-2818 to processor-sdk-linux-4.19.y

* commit '88b88af98558249a708e252124e40eb68b376420':
  net: ethernet: prueth: disable MC filtering when promisc mode enabled
Aaron Kramer 6 vuotta sitten
vanhempi
commit
f0b79d4843
1 muutettua tiedostoa jossa 4 lisäystä ja 0 poistoa
  1. 4 0
      drivers/net/ethernet/ti/prueth.c

+ 4 - 0
drivers/net/ethernet/ti/prueth.c

@@ -4133,6 +4133,8 @@ static void emac_ndo_set_rx_mode(struct net_device *ndev)
 	struct prueth *prueth = emac->prueth;
 	struct prueth_mmap_sram_cfg *s = &prueth->mmap_sram_cfg;
 	void __iomem *sram = prueth->mem[PRUETH_MEM_SHARED_RAM].va;
+	void __iomem *ram = emac->prueth->mem[emac->dram].va;
+	u32 mc_ctrl_byte = prueth->fw_offsets->mc_ctrl_byte;
 	u32 reg, mask;
 
 	if (PRUETH_HAS_RED(prueth))
@@ -4161,6 +4163,8 @@ static void emac_ndo_set_rx_mode(struct net_device *ndev)
 	if (ndev->flags & IFF_PROMISC) {
 		/* Enable promiscuous mode */
 		reg |= mask;
+		/* Disable MC filtering when promiscuous mode enabled */
+		writeb(MULTICAST_FILTER_DISABLED, ram + mc_ctrl_byte);
 	} else {
 		/* Disable promiscuous mode */
 		reg &= ~mask;