summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2007-05-14 15:28:46 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2007-05-14 15:28:46 +0000
commit580d6d57f685db7b890620d6d0c0985d12540c1b (patch)
treeaf78891c8d8d5cc199137ba41b5ebb1a6b2ad04c
parent3c4b9143c6c64389f318d35710316c0be05decba (diff)
Properly wrap mii_tick() up in splnet().
This seems to fix a bizzare problem I was having for some time with msk on MP amd64 where the machine would reboot itself under load. At least sk(4) and rl(4) code seems to have the potential for a similiar problem. ok kettenis@
-rw-r--r--sys/dev/pci/if_msk.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/pci/if_msk.c b/sys/dev/pci/if_msk.c
index 67c8d838fde..74e072fc95e 100644
--- a/sys/dev/pci/if_msk.c
+++ b/sys/dev/pci/if_msk.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_msk.c,v 1.51 2007/05/12 18:19:54 kettenis Exp $ */
+/* $OpenBSD: if_msk.c,v 1.52 2007/05/14 15:28:45 jsg Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000
@@ -1732,8 +1732,11 @@ msk_tick(void *xsc_if)
{
struct sk_if_softc *sc_if = xsc_if;
struct mii_data *mii = &sc_if->sk_mii;
+ int s;
+ s = splnet();
mii_tick(mii);
+ splx(s);
timeout_add(&sc_if->sk_tick_ch, hz);
}