qtnfmac: add interface combination check for repeater mode

Firmware supports only STA as primary interface in repeater mode.
Since the only meaningful usage of AP + STA interface combination
is repeater, reject such combination with AP as primary interface.

Signed-off-by: Dmitry Lebed <dlebed@quantenna.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Dmitry Lebed 2020-02-13 11:45:32 +00:00 committed by Kalle Valo
parent 616f5701f4
commit 2d83dddf85

View file

@ -102,6 +102,21 @@ qtnf_validate_iface_combinations(struct wiphy *wiphy,
ret = cfg80211_check_combinations(wiphy, &params);
if (ret)
return ret;
/* Check repeater interface combination: primary VIF should be STA only.
* STA (primary) + AP (secondary) is OK.
* AP (primary) + STA (secondary) is not supported.
*/
vif = qtnf_mac_get_base_vif(mac);
if (vif && vif->wdev.iftype == NL80211_IFTYPE_AP &&
vif != change_vif && new_type == NL80211_IFTYPE_STATION) {
ret = -EINVAL;
pr_err("MAC%u invalid combination: AP as primary repeater interface is not supported\n",
mac->macid);
}
return ret;
}