re(4): fix re_setmulti(): PCIe mcast hash registers were swapped
authorThomas Nikolajsen <thomas@dragonflybsd.org>
Sun, 8 Aug 2010 07:41:05 +0000 (09:41 +0200)
committerThomas Nikolajsen <thomas@dragonflybsd.org>
Sun, 8 Aug 2010 20:09:19 +0000 (22:09 +0200)
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1799>
Submitted-by: "Mitja Horvat <pinkfluid@>"
Obtained-from: FreeBSD

sys/dev/netif/re/if_re.c

index 74ed2e5..31dda10 100644 (file)
@@ -704,8 +704,8 @@ re_setmulti(struct re_softc *sc)
         * order for those devices.
         */
        if (sc->re_caps & RE_C_PCIE) {
-               CSR_WRITE_4(sc, RE_MAR0, bswap32(hashes[0]));
-               CSR_WRITE_4(sc, RE_MAR4, bswap32(hashes[1]));
+               CSR_WRITE_4(sc, RE_MAR0, bswap32(hashes[1]));
+               CSR_WRITE_4(sc, RE_MAR4, bswap32(hashes[0]));
        } else {
                CSR_WRITE_4(sc, RE_MAR0, hashes[0]);
                CSR_WRITE_4(sc, RE_MAR4, hashes[1]);