summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authorbmilekic <bmilekic@FreeBSD.org>2001-01-19 01:59:14 +0000
committerbmilekic <bmilekic@FreeBSD.org>2001-01-19 01:59:14 +0000
commit37decc93f5a2dfb49438d1e77245218780583ef6 (patch)
tree2e4b859fb1993ec2fe69e3e946d14a9fdc9cf441 /sys/pci
parent5977e97236d57a51dc2ddf0634bb4a69d30dc36f (diff)
downloadFreeBSD-src-37decc93f5a2dfb49438d1e77245218780583ef6.zip
FreeBSD-src-37decc93f5a2dfb49438d1e77245218780583ef6.tar.gz
Implement MTX_RECURSE flag for mtx_init().
All calls to mtx_init() for mutexes that recurse must now include the MTX_RECURSE bit in the flag argument variable. This change is in preparation for an upcoming (further) mutex API cleanup. The witness code will call panic() if a lock is found to recurse but the MTX_RECURSE bit was not set during the lock's initialization. The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to MTX_RECURSED, which is more appropriate given its meaning. The following locks have been made "recursive," thus far: eventhandler, Giant, callout, sched_lock, possibly some others declared in the architecture-specific code, all of the network card driver locks in pci/, as well as some other locks in dev/ stuff that I've found to be recursive. Reviewed by: jhb
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/if_dc.c2
-rw-r--r--sys/pci/if_fxp.c2
-rw-r--r--sys/pci/if_pcn.c2
-rw-r--r--sys/pci/if_rl.c2
-rw-r--r--sys/pci/if_sf.c2
-rw-r--r--sys/pci/if_sis.c2
-rw-r--r--sys/pci/if_sk.c2
-rw-r--r--sys/pci/if_ste.c2
-rw-r--r--sys/pci/if_ti.c2
-rw-r--r--sys/pci/if_tl.c2
-rw-r--r--sys/pci/if_vr.c2
-rw-r--r--sys/pci/if_wb.c2
-rw-r--r--sys/pci/if_wx.c2
-rw-r--r--sys/pci/if_xl.c2
14 files changed, 14 insertions, 14 deletions
diff --git a/sys/pci/if_dc.c b/sys/pci/if_dc.c
index 63e7adb..3b5e91a 100644
--- a/sys/pci/if_dc.c
+++ b/sys/pci/if_dc.c
@@ -1762,7 +1762,7 @@ static int dc_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct dc_softc));
- mtx_init(&sc->dc_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->dc_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
DC_LOCK(sc);
/*
diff --git a/sys/pci/if_fxp.c b/sys/pci/if_fxp.c
index b6f66d1..e76640e 100644
--- a/sys/pci/if_fxp.c
+++ b/sys/pci/if_fxp.c
@@ -316,7 +316,7 @@ fxp_attach(device_t dev)
u_long val;
int rid;
- mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
callout_handle_init(&sc->stat_ch);
FXP_LOCK(sc);
diff --git a/sys/pci/if_pcn.c b/sys/pci/if_pcn.c
index c5139ef..af893fd 100644
--- a/sys/pci/if_pcn.c
+++ b/sys/pci/if_pcn.c
@@ -497,7 +497,7 @@ static int pcn_attach(dev)
unit = device_get_unit(dev);
/* Initialize our mutex. */
- mtx_init(&sc->pcn_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->pcn_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
PCN_LOCK(sc);
/*
diff --git a/sys/pci/if_rl.c b/sys/pci/if_rl.c
index 3c815b6..5463f07 100644
--- a/sys/pci/if_rl.c
+++ b/sys/pci/if_rl.c
@@ -802,7 +802,7 @@ static int rl_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct rl_softc));
- mtx_init(&sc->rl_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->rl_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
RL_LOCK(sc);
/*
diff --git a/sys/pci/if_sf.c b/sys/pci/if_sf.c
index aa33e7d..d03934f 100644
--- a/sys/pci/if_sf.c
+++ b/sys/pci/if_sf.c
@@ -679,7 +679,7 @@ static int sf_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct sf_softc));
- mtx_init(&sc->sf_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->sf_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
SF_LOCK(sc);
/*
* Handle power management nonsense.
diff --git a/sys/pci/if_sis.c b/sys/pci/if_sis.c
index 8f9b4d6..d271e47 100644
--- a/sys/pci/if_sis.c
+++ b/sys/pci/if_sis.c
@@ -638,7 +638,7 @@ static int sis_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct sis_softc));
- mtx_init(&sc->sis_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->sis_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
SIS_LOCK(sc);
if (pci_get_device(dev) == SIS_DEVICEID_900)
diff --git a/sys/pci/if_sk.c b/sys/pci/if_sk.c
index 143c4e4..f09df99 100644
--- a/sys/pci/if_sk.c
+++ b/sys/pci/if_sk.c
@@ -1194,7 +1194,7 @@ static int sk_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct sk_softc));
- mtx_init(&sc->sk_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->sk_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
SK_LOCK(sc);
/*
diff --git a/sys/pci/if_ste.c b/sys/pci/if_ste.c
index 7b099e8..017ac06 100644
--- a/sys/pci/if_ste.c
+++ b/sys/pci/if_ste.c
@@ -917,7 +917,7 @@ static int ste_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct ste_softc));
- mtx_init(&sc->ste_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->ste_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
STE_LOCK(sc);
/*
diff --git a/sys/pci/if_ti.c b/sys/pci/if_ti.c
index 7f6660f..9b29e09 100644
--- a/sys/pci/if_ti.c
+++ b/sys/pci/if_ti.c
@@ -1476,7 +1476,7 @@ static int ti_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct ti_softc));
- mtx_init(&sc->ti_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->ti_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
TI_LOCK(sc);
/*
diff --git a/sys/pci/if_tl.c b/sys/pci/if_tl.c
index 7bf6901..ccc7069 100644
--- a/sys/pci/if_tl.c
+++ b/sys/pci/if_tl.c
@@ -1132,7 +1132,7 @@ static int tl_attach(dev)
goto fail;
}
- mtx_init(&sc->tl_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->tl_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
TL_LOCK(sc);
/*
diff --git a/sys/pci/if_vr.c b/sys/pci/if_vr.c
index a1fa0c0..7c3729f 100644
--- a/sys/pci/if_vr.c
+++ b/sys/pci/if_vr.c
@@ -643,7 +643,7 @@ static int vr_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct vr_softc *));
- mtx_init(&sc->vr_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->vr_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
VR_LOCK(sc);
/*
diff --git a/sys/pci/if_wb.c b/sys/pci/if_wb.c
index 19893cf..fecc20d 100644
--- a/sys/pci/if_wb.c
+++ b/sys/pci/if_wb.c
@@ -817,7 +817,7 @@ static int wb_attach(dev)
sc = device_get_softc(dev);
unit = device_get_unit(dev);
- mtx_init(&sc->wb_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->wb_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
WB_LOCK(sc);
/*
diff --git a/sys/pci/if_wx.c b/sys/pci/if_wx.c
index 51ff687..b1151e4 100644
--- a/sys/pci/if_wx.c
+++ b/sys/pci/if_wx.c
@@ -597,7 +597,7 @@ wx_attach(device_t dev)
}
#ifdef SMPNG
- mtx_init(&sc->wx_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->wx_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
#endif
WX_LOCK(sc);
diff --git a/sys/pci/if_xl.c b/sys/pci/if_xl.c
index e7a3174..c6abf6f 100644
--- a/sys/pci/if_xl.c
+++ b/sys/pci/if_xl.c
@@ -1239,7 +1239,7 @@ static int xl_attach(dev)
sc = device_get_softc(dev);
unit = device_get_unit(dev);
- mtx_init(&sc->xl_mtx, device_get_nameunit(dev), MTX_DEF);
+ mtx_init(&sc->xl_mtx, device_get_nameunit(dev), MTX_DEF | MTX_RECURSE);
XL_LOCK(sc);
sc->xl_flags = 0;
OpenPOWER on IntegriCloud