IEEE80211_IFACE_ITER_ACTIVE|IEEE80211_IFACE_ITER__ATOMIC)) { + IEEE80211_IFACE_ITER_ACTIVE|IEEE80211_IFACE_ITER__ATOMIC| + IEEE80211_IFACE_ITER__MTX)) { ic_printf(lhw->ic, "XXX TODO %s flags(%#x) not yet supported.\n", __func__, flags); } + if ((flags & IEEE80211_IFACE_ITER__MTX) != 0) + lockdep_assert_wiphy(hw->wiphy); + active = (flags & IEEE80211_IFACE_ITER_ACTIVE) != 0; atomic = (flags & IEEE80211_IFACE_ITER__ATOMIC) != 0; nin_drv = (flags & IEEE80211_IFACE_SKIP_SDATA_NOT_IN_DRIVER) != 0; - if (atomic) + if (atomic) { + IMPROVE("LKPI_80211_LHW_LVIF_LOCK atomic assume to be rcu?"); LKPI_80211_LHW_LVIF_LOCK(lhw); + } TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) { struct ieee80211vap *vap;