summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorNathan Walp <faceprint@faceprint.com>2012-11-01 12:08:47 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-26 11:37:48 -0800
commit1b10e0be50067689f53e566d5e1cfad6170e89c3 (patch)
treea6c272154e7366d0f45088ed32bd7f6668a6a1b5 /drivers
parentcfc2c996141d487273c63af8954a3f3f03b16229 (diff)
r8169: allow multicast packets on sub-8168f chipset.
commit 0481776b7a70f09acf7d9d97c288c3a8403fbfe4 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-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 74a516c72130..0dc70c21767e 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4131,6 +4131,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]);