From: Rameshkumar Sundaram <quic_ramess@xxxxxxxxxxx> Current implementation of MBSSID configuration parsing mandates MBSSID elements for Tx BSS (index 0). However with ML link addition it is possible that Non-Tx BSS'es can be added at a later point in time after Tx BSS is brought up. Hence allow bring up of MBSSID Tx BSS even if no Non-Tx BSS are present at that time when EMA is disabled. Later when new Non-TX BSS are added TX BSS beacon can be updated with MBSSID Elements. Signed-off-by: Rameshkumar Sundaram <quic_ramess@xxxxxxxxxxx> Signed-off-by: Sowmiya Sree Elavalagan <quic_ssreeela@xxxxxxxxxxx> --- v2: - Mandate num elements check if EMA is enabled - Rebased and changed 'IEs' to 'elements' in commit message --- net/wireless/nl80211.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 7397a372c78e..f1b0274681b9 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -5496,8 +5496,10 @@ static int nl80211_parse_mbssid_config(struct wiphy *wiphy, } config->index = nla_get_u8(tb[NL80211_MBSSID_CONFIG_ATTR_INDEX]); - if (config->index >= wiphy->mbssid_max_interfaces || - (!config->index && !num_elems)) + if (config->index >= wiphy->mbssid_max_interfaces) + return -EINVAL; + + if (config->ema && !config->index && !num_elems) return -EINVAL; if (tb[NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX]) { -- 2.34.1