summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Walp2012-11-01 13:08:47 +0100
committerDavid S. Miller2012-11-03 20:27:07 +0100
commit0481776b7a70f09acf7d9d97c288c3a8403fbfe4 (patch)
treeeeffc8e52f54762b4aad0dadd3c13bb6214a0ff7
parentr8169: Fix WoL on RTL8168d/8111d. (diff)
downloadkernel-qcow2-linux-0481776b7a70f09acf7d9d97c288c3a8403fbfe4.tar.gz
kernel-qcow2-linux-0481776b7a70f09acf7d9d97c288c3a8403fbfe4.tar.xz
kernel-qcow2-linux-0481776b7a70f09acf7d9d97c288c3a8403fbfe4.zip
r8169: allow multicast packets on sub-8168f chipset.
RTL_GIGA_MAC_VER_35 includes no multicast hardware filter. Signed-off-by: Nathan Walp <faceprint@faceprint.com> Suggested-by: Hayes Wang <hayeswang@realtek.com> Acked-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/realtek/r8169.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index eb6a5e4ca4c8..927aa33d4349 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4521,6 +4521,9 @@ static void rtl_set_rx_mode(struct net_device *dev)
mc_filter[1] = swab32(data);
}
+ if (tp->mac_version == RTL_GIGA_MAC_VER_35)
+ mc_filter[1] = mc_filter[0] = 0xffffffff;
+
RTL_W32(MAR0 + 4, mc_filter[1]);
RTL_W32(MAR0 + 0, mc_filter[0]);