summaryrefslogtreecommitdiffstats
path: root/sys/dev/ed
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2001-07-22 21:39:54 +0000
committeriedowse <iedowse@FreeBSD.org>2001-07-22 21:39:54 +0000
commit08e82b6d3d1211c44bc3fcb70a0aef0a3e64d43f (patch)
tree6cb55b519505fbf632eec4512bec73462a91fa7e /sys/dev/ed
parent3cb83d3d468b2fee5bc195cecb9af9b3db32ecf9 (diff)
downloadFreeBSD-src-08e82b6d3d1211c44bc3fcb70a0aef0a3e64d43f.zip
FreeBSD-src-08e82b6d3d1211c44bc3fcb70a0aef0a3e64d43f.tar.gz
Add a few missing spl calls in preparation for an MFC of the miibus
support.
Diffstat (limited to 'sys/dev/ed')
-rw-r--r--sys/dev/ed/if_ed.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c
index 11843d7..4908372 100644
--- a/sys/dev/ed/if_ed.c
+++ b/sys/dev/ed/if_ed.c
@@ -3231,13 +3231,15 @@ ed_miibus_readreg(dev, phy, reg)
int phy, reg;
{
struct ed_softc *sc;
- int val;
- int failed;
+ int failed, s, val;
+ s = splimp();
sc = device_get_softc(dev);
- if (sc->gone)
- return 0;
-
+ if (sc->gone) {
+ splx(s);
+ return (0);
+ }
+
(*sc->mii_writebits)(sc, 0xffffffff, 32);
(*sc->mii_writebits)(sc, ED_MII_STARTDELIM, ED_MII_STARTDELIM_BITS);
(*sc->mii_writebits)(sc, ED_MII_READOP, ED_MII_OP_BITS);
@@ -3248,6 +3250,7 @@ ed_miibus_readreg(dev, phy, reg)
val = (*sc->mii_readbits)(sc, ED_MII_DATA_BITS);
(*sc->mii_writebits)(sc, ED_MII_IDLE, ED_MII_IDLE_BITS);
+ splx(s);
return (failed ? 0 : val);
}
@@ -3257,10 +3260,14 @@ ed_miibus_writereg(dev, phy, reg, data)
int phy, reg, data;
{
struct ed_softc *sc;
+ int s;
+ s = splimp();
sc = device_get_softc(dev);
- if (sc->gone)
+ if (sc->gone) {
+ splx(s);
return;
+ }
(*sc->mii_writebits)(sc, 0xffffffff, 32);
(*sc->mii_writebits)(sc, ED_MII_STARTDELIM, ED_MII_STARTDELIM_BITS);
@@ -3270,6 +3277,8 @@ ed_miibus_writereg(dev, phy, reg, data)
(*sc->mii_writebits)(sc, ED_MII_TURNAROUND, ED_MII_TURNAROUND_BITS);
(*sc->mii_writebits)(sc, data, ED_MII_DATA_BITS);
(*sc->mii_writebits)(sc, ED_MII_IDLE, ED_MII_IDLE_BITS);
+
+ splx(s);
}
int
OpenPOWER on IntegriCloud