JUST UP FOR DISUSSION NOT FOR THE REVIEW
The code here (and possibly in mwl?) have a builtin assumption that
ni_chw is not set to anything before we go through
ieee80211_ht_updateparams() / ieee80211_ht_updatehtcap() or its final
version.
As a result with ni_chw no initialized to BW_20 which matches the default
malloc 0 compared to the past where ni_chw was 0 was not valid at all as
20 meant BW_20 so the checks are matching even before (RE)ASSOC requests
in the STA or AP case.
with this it is questionable if the checks in
ieee80211_ht_check_tx_shortgi_[24]0() are correct either as things
work either by very detailed knowledge or accident in the past.