diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 6572425046210a1037c2c62b0e8d13e89ad62513..9086e819d742f29a37a0b0dc348b3e16fe049d95 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -3098,8 +3098,10 @@ static void rtl_set_rx_mode(struct net_device *dev)
 	    (tp->mac_version == RTL_GIGA_MAC_VER_15) ||
 	    (tp->mac_version == RTL_GIGA_MAC_VER_16) ||
 	    (tp->mac_version == RTL_GIGA_MAC_VER_17)) {
-		mc_filter[0] = 0xffffffff;
-		mc_filter[1] = 0xffffffff;
+		u32 data = mc_filter[0];
+
+		mc_filter[0] = swab32(mc_filter[1]);
+		mc_filter[1] = swab32(data);
 	}
 
 	RTL_W32(MAR0 + 0, mc_filter[0]);