summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsing <jsing@openbsd.org>2009-06-11 14:49:49 +0000
committerjsing <jsing@openbsd.org>2009-06-11 14:49:49 +0000
commitc845ffb150b42c3ef9637c9d84a17985e9acb189 (patch)
tree82222464a0798247ea6dda4b6476e74946d1613f
parentdon't use freelist if it overruns; use heap memory instead not (diff)
downloadwireguard-openbsd-c845ffb150b42c3ef9637c9d84a17985e9acb189.tar.xz
wireguard-openbsd-c845ffb150b42c3ef9637c9d84a17985e9acb189.zip
The MAC multicast filter is set in mec_iff() hence there is need to do this
when resetting the chip. From Brad.
-rw-r--r--sys/arch/sgi/dev/if_mec.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/arch/sgi/dev/if_mec.c b/sys/arch/sgi/dev/if_mec.c
index 32fac73a653..8cadd9e7ebe 100644
--- a/sys/arch/sgi/dev/if_mec.c
+++ b/sys/arch/sgi/dev/if_mec.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_mec.c,v 1.19 2009/05/18 15:21:31 jsing Exp $ */
+/* $OpenBSD: if_mec.c,v 1.20 2009/06/11 14:49:49 jsing Exp $ */
/* $NetBSD: if_mec_mace.c,v 1.5 2004/08/01 06:36:36 tsutsui Exp $ */
/*
@@ -695,7 +695,7 @@ mec_reset(struct mec_softc *sc)
{
bus_space_tag_t st = sc->sc_st;
bus_space_handle_t sh = sc->sc_sh;
- uint64_t address, control;
+ uint64_t address;
int i;
/* Reset chip. */
@@ -713,10 +713,9 @@ mec_reset(struct mec_softc *sc)
bus_space_write_8(st, sh, MEC_STATION, address);
/* Default to 100/half and let auto-negotiation work its magic. */
- control = MEC_MAC_SPEED_SELECT | MEC_MAC_FILTER_MATCHMULTI |
- MEC_MAC_IPG_DEFAULT;
+ bus_space_write_8(st, sh, MEC_MAC_CONTROL,
+ MEC_MAC_SPEED_SELECT | MEC_MAC_IPG_DEFAULT);
- bus_space_write_8(st, sh, MEC_MAC_CONTROL, control);
bus_space_write_8(st, sh, MEC_DMA_CONTROL, 0);
DPRINTF(MEC_DEBUG_RESET, ("mec: control now %llx\n",