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
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 5963 Build 6241: arc lint + arc unit
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.