From fa5bd50f1082d526bed10700b1466f0a4516f8f9 Mon Sep 17 00:00:00 2001 From: mjacob Date: Wed, 5 Sep 2001 19:22:40 +0000 Subject: Pick up a bugfix from FreeBSD: In wx_hw_stop, a bogus additional write to WXREG_IMASK enabled *all* interrupt causes while we were trying to *disable* them all. Oops. --- sys/dev/pci/if_wx.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'sys/dev') diff --git a/sys/dev/pci/if_wx.c b/sys/dev/pci/if_wx.c index 46c762fc025..4ea427eced6 100644 --- a/sys/dev/pci/if_wx.c +++ b/sys/dev/pci/if_wx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_wx.c,v 1.15 2001/08/25 10:13:29 art Exp $ */ +/* $OpenBSD: if_wx.c,v 1.16 2001/09/05 19:22:39 mjacob Exp $ */ /* * Principal Author: Matthew Jacob * Copyright (c) 1999, 2001 by Traakan Software @@ -1761,17 +1761,16 @@ wx_hw_stop(wx_softc_t *sc) { u_int32_t icr; DPRINTF(sc, ("%s: wx_hw_stop\n", sc->wx_name)); + WX_DISABLE_INT(sc); if (sc->wx_idnrev < WX_WISEMAN_2_1) { wx_mwi_whackon(sc); } WRITE_CSR(sc, WXREG_DCR, WXDCR_RST); DELAY(20 * 1000); - WRITE_CSR(sc, WXREG_IMASK, ~0); icr = READ_CSR(sc, WXREG_ICR); if (sc->wx_idnrev < WX_WISEMAN_2_1) { wx_mwi_unwhack(sc); } - WX_DISABLE_INT(sc); } static void -- cgit v1.2.3