station: disable roaming logic for auto-roaming cards

If the hardware roams automatically we want to be sure to not
react to CQM events and attempt to roam/disconnect on our own.

Note: this is only important for very new kernels where CQM
events were recently added to brcmfmac.
This commit is contained in:
James Prestwood 2021-03-15 10:29:31 -07:00 committed by Denis Kenzior
parent 2a46ab3042
commit 97de24e694
1 changed files with 8 additions and 0 deletions

View File

@ -2170,6 +2170,14 @@ static bool station_cannot_roam(struct station *station)
const struct l_settings *config = iwd_get_config();
bool disabled;
/*
* Disable roaming with hardware that can roam automatically. Note this
* is now required for recent kernels which have CQM event support on
* this type of hardware (e.g. brcmfmac).
*/
if (wiphy_supports_firmware_roam(station->wiphy))
return true;
if (!l_settings_get_bool(config, "Scan", "DisableRoamingScan",
&disabled))
disabled = false;