diff --git a/sys/bus/u4b/net/if_cue.c b/sys/bus/u4b/net/if_cue.c --- a/sys/bus/u4b/net/if_cue.c +++ b/sys/bus/u4b/net/if_cue.c @@ -308,15 +308,15 @@ cue_getmac(struct cue_softc *sc, void *buf) struct ifnet *ifp = uether_getifp(ue); struct ifmultiaddr *ifma; uint32_t h = 0, i; - uint8_t hashtbl[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + uint8_t hashtbl[64] = { 0 }; CUE_LOCK_ASSERT(sc); if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { - for (i = 0; i < 8; i++) + for (i = 0; i < 64; i++) hashtbl[i] = 0xff; cue_mem(sc, CUE_CMD_WRITESRAM, CUE_MCAST_TABLE_ADDR, - &hashtbl, 8); + &hashtbl, 64); return; } @@ -338,7 +338,7 @@ cue_getmac(struct cue_softc *sc, void *buf) hashtbl[h >> 3] |= 1 << (h & 0x7); } - cue_mem(sc, CUE_CMD_WRITESRAM, CUE_MCAST_TABLE_ADDR, &hashtbl, 8); + cue_mem(sc, CUE_CMD_WRITESRAM, CUE_MCAST_TABLE_ADDR, &hashtbl, 64); } static void