diff options
author | bmilekic <bmilekic@FreeBSD.org> | 2001-01-19 01:59:14 +0000 |
---|---|---|
committer | bmilekic <bmilekic@FreeBSD.org> | 2001-01-19 01:59:14 +0000 |
commit | 37decc93f5a2dfb49438d1e77245218780583ef6 (patch) | |
tree | 2e4b859fb1993ec2fe69e3e946d14a9fdc9cf441 /sys/pci | |
parent | 5977e97236d57a51dc2ddf0634bb4a69d30dc36f (diff) | |
download | FreeBSD-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.c | 2 | ||||
-rw-r--r-- | sys/pci/if_fxp.c | 2 | ||||
-rw-r--r-- | sys/pci/if_pcn.c | 2 | ||||
-rw-r--r-- | sys/pci/if_rl.c | 2 | ||||
-rw-r--r-- | sys/pci/if_sf.c | 2 | ||||
-rw-r--r-- | sys/pci/if_sis.c | 2 | ||||
-rw-r--r-- | sys/pci/if_sk.c | 2 | ||||
-rw-r--r-- | sys/pci/if_ste.c | 2 | ||||
-rw-r--r-- | sys/pci/if_ti.c | 2 | ||||
-rw-r--r-- | sys/pci/if_tl.c | 2 | ||||
-rw-r--r-- | sys/pci/if_vr.c | 2 | ||||
-rw-r--r-- | sys/pci/if_wb.c | 2 | ||||
-rw-r--r-- | sys/pci/if_wx.c | 2 | ||||
-rw-r--r-- | sys/pci/if_xl.c | 2 |
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; |