Insert extra paranoia into the ath(4) driver.

This function must be called with both the source and destination TXQs
locked or things will get hairy.

I added this as part of some debugging in a PR but it turned out to not
be the cause.  I still think it's -correct- so, here it is.
This commit is contained in:
Adrian Chadd 2012-03-09 08:36:30 +00:00
parent f6f8319094
commit e86fd7a715

View File

@ -2908,6 +2908,10 @@ ath_beacon_update(struct ieee80211vap *vap, int item)
static void
ath_txqmove(struct ath_txq *dst, struct ath_txq *src)
{
ATH_TXQ_LOCK_ASSERT(dst);
ATH_TXQ_LOCK_ASSERT(src);
TAILQ_CONCAT(&dst->axq_q, &src->axq_q, bf_list);
dst->axq_link = src->axq_link;
src->axq_link = NULL;