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 f9fa0d71..fd985a1b 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_fw_roam(station->wiphy))
+ return true;
+