diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2007-05-14 15:28:46 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2007-05-14 15:28:46 +0000 |
commit | 580d6d57f685db7b890620d6d0c0985d12540c1b (patch) | |
tree | af78891c8d8d5cc199137ba41b5ebb1a6b2ad04c /sys/dev | |
parent | 3c4b9143c6c64389f318d35710316c0be05decba (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@
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/pci/if_msk.c | 5 |
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); } |