Change mtx's to use the formulated name as type so witness does not
complain on nested tx q lock acquisitions when processing the cab q. MFC after: 2 weeks
This commit is contained in:
parent
cd196bb2d5
commit
1fba0fdc15
@ -414,7 +414,8 @@ ath_attach(u_int16_t devid, struct ath_softc *sc)
|
|||||||
error = EIO;
|
error = EIO;
|
||||||
goto bad2;
|
goto bad2;
|
||||||
}
|
}
|
||||||
ath_txq_init(sc, &sc->sc_mcastq, -1); /* NB: s/w q, qnum not used */
|
/* NB: s/w q, qnum used only by WITNESS */
|
||||||
|
ath_txq_init(sc, &sc->sc_mcastq, HAL_NUM_TX_QUEUES+1);
|
||||||
/* NB: insure BK queue is the lowest priority h/w queue */
|
/* NB: insure BK queue is the lowest priority h/w queue */
|
||||||
if (!ath_tx_setup(sc, WME_AC_BK, HAL_WME_AC_BK)) {
|
if (!ath_tx_setup(sc, WME_AC_BK, HAL_WME_AC_BK)) {
|
||||||
if_printf(ifp, "unable to setup xmit queue for %s traffic!\n",
|
if_printf(ifp, "unable to setup xmit queue for %s traffic!\n",
|
||||||
|
@ -150,7 +150,7 @@ struct ath_txq {
|
|||||||
#define ATH_TXQ_LOCK_INIT(_sc, _tq) do { \
|
#define ATH_TXQ_LOCK_INIT(_sc, _tq) do { \
|
||||||
snprintf((_tq)->axq_name, sizeof((_tq)->axq_name), "%s_txq%u", \
|
snprintf((_tq)->axq_name, sizeof((_tq)->axq_name), "%s_txq%u", \
|
||||||
device_get_nameunit((_sc)->sc_dev), (_tq)->axq_qnum); \
|
device_get_nameunit((_sc)->sc_dev), (_tq)->axq_qnum); \
|
||||||
mtx_init(&(_tq)->axq_lock, (_tq)->axq_name, "ath_txq", MTX_DEF); \
|
mtx_init(&(_tq)->axq_lock, (_tq)->axq_name, NULL, MTX_DEF); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#define ATH_TXQ_LOCK_DESTROY(_tq) mtx_destroy(&(_tq)->axq_lock)
|
#define ATH_TXQ_LOCK_DESTROY(_tq) mtx_destroy(&(_tq)->axq_lock)
|
||||||
#define ATH_TXQ_LOCK(_tq) mtx_lock(&(_tq)->axq_lock)
|
#define ATH_TXQ_LOCK(_tq) mtx_lock(&(_tq)->axq_lock)
|
||||||
@ -306,7 +306,7 @@ struct ath_softc {
|
|||||||
|
|
||||||
#define ATH_LOCK_INIT(_sc) \
|
#define ATH_LOCK_INIT(_sc) \
|
||||||
mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->sc_dev), \
|
mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->sc_dev), \
|
||||||
MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE)
|
NULL, MTX_DEF | MTX_RECURSE)
|
||||||
#define ATH_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx)
|
#define ATH_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx)
|
||||||
#define ATH_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
|
#define ATH_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
|
||||||
#define ATH_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
|
#define ATH_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
|
||||||
@ -317,7 +317,7 @@ struct ath_softc {
|
|||||||
#define ATH_TXBUF_LOCK_INIT(_sc) do { \
|
#define ATH_TXBUF_LOCK_INIT(_sc) do { \
|
||||||
snprintf((_sc)->sc_txname, sizeof((_sc)->sc_txname), "%s_buf", \
|
snprintf((_sc)->sc_txname, sizeof((_sc)->sc_txname), "%s_buf", \
|
||||||
device_get_nameunit((_sc)->sc_dev)); \
|
device_get_nameunit((_sc)->sc_dev)); \
|
||||||
mtx_init(&(_sc)->sc_txbuflock, (_sc)->sc_txname, "ath_buf", MTX_DEF); \
|
mtx_init(&(_sc)->sc_txbuflock, (_sc)->sc_txname, NULL, MTX_DEF); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#define ATH_TXBUF_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_txbuflock)
|
#define ATH_TXBUF_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_txbuflock)
|
||||||
#define ATH_TXBUF_LOCK(_sc) mtx_lock(&(_sc)->sc_txbuflock)
|
#define ATH_TXBUF_LOCK(_sc) mtx_lock(&(_sc)->sc_txbuflock)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user