From 97de24e694797100e9c789aea69f64cc90789f2d Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Mon, 15 Mar 2021 10:29:31 -0700 Subject: [PATCH] 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. --- src/station.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/station.c b/src/station.c index 1a829fae..3a082d02 100644 --- a/src/station.c +++ b/src/station.c @@ -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;