summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/dev/re/if_re.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/dev/re/if_re.c')
-rw-r--r--freebsd/sys/dev/re/if_re.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/freebsd/sys/dev/re/if_re.c b/freebsd/sys/dev/re/if_re.c
index 99751374..b574f9a2 100644
--- a/freebsd/sys/dev/re/if_re.c
+++ b/freebsd/sys/dev/re/if_re.c
@@ -704,6 +704,12 @@ re_set_rxmode(struct rl_softc *sc)
rxfilt |= RL_RXCFG_RX_MULTI;
}
+ if (sc->rl_hwrev->rl_rev == RL_HWREV_8168F) {
+ /* Disable multicast filtering due to silicon bug. */
+ hashes[0] = 0xffffffff;
+ hashes[1] = 0xffffffff;
+ }
+
done:
CSR_WRITE_4(sc, RL_MAR0, hashes[0]);
CSR_WRITE_4(sc, RL_MAR4, hashes[1]);