If full-offload scan is used, the NIC driver (or rather the firmware of
the NIC) should take care of interrupting and continuing the background
scan. So net80211 should ignore the vap->iv_bgscanidle setting, instead
the NIC driver might look at this setting and pass it on to the firmware
in some way if possible.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
the NIC driver might look at this setting and pass it on to the firmware in some way if possible.
It can check if (ic->ic_flags_ext & IEEE80211_FEXT_BGSCAN) is non-zero instead; is there any example where this approach can be better? (as I can see, after this change IEEE80211_FEXT_SCAN_OFFLOAD flag will unconditionally disable background scanning - so, every driver (with this flag set) will need to setup parameters in hardware - or, if that's not supported, reimplement the logic instead)
The background scan starting will still happen with this change (if IEEE80211_FEXT_SCAN_OFFLOAD is set, it will just omit the iv_bgscanidle check).
The contbgscan() check will unconditionally return false if IEEE80211_FEXT_SCAN_OFFLOAD is set, because we are no longer interrupting scans (neither normal, nor background) when IEEE80211_FEXT_SCAN_OFFLOAD is set. That's also the reason why checking iv_bgscanidle in net80211 doesn't really make sense in that case, since it wouldn't avoid that the background scan interferes with the wireless traffic anymore.