net80211: amrr_init: change order of commands

First run the KASSERT before trying to do the free operation.
Better for reporting and debugging.
Add a guard setting the value to NULL afterwards.  NULL pointers
are a lot easier to test for.

MFC after:	3 days
Reviewed by:	cc
Differential Revision: https://reviews.freebsd.org/D43751
This commit is contained in:
Bjoern A. Zeeb 2024-02-05 14:48:08 +00:00
parent ac867c20e6
commit cd9fee3d2c

View File

@ -132,8 +132,9 @@ amrr_init(struct ieee80211vap *vap)
static void
amrr_deinit(struct ieee80211vap *vap)
{
IEEE80211_FREE(vap->iv_rs, M_80211_RATECTL);
KASSERT(nrefs > 0, ("imbalanced attach/detach"));
IEEE80211_FREE(vap->iv_rs, M_80211_RATECTL);
vap->iv_rs = NULL; /* guard */
nrefs--; /* XXX locking */
}