Commit 1d219456 authored by Siva Rebbagondla's avatar Siva Rebbagondla Committed by Kalle Valo

rsi: optimize virtual interfaces

Due to multiple calls of add interface routine, vif is getting duplicated
and at certain instance, we are out of vifs, causing the driver to behave
abnormal.

Fix: Every vif has a unique mac-id, when we got a vif with same mac-id as
the previous id's, we will override the respective vif.
Signed-off-by: default avatarSiva Rebbagondla <siva.rebbagondla@redpinesignals.com>
Signed-off-by: default avatarSushant Kumar Mishra <sushant.mishra@redpinesignals.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 4c837d8c
...@@ -416,7 +416,8 @@ static int rsi_mac80211_add_interface(struct ieee80211_hw *hw, ...@@ -416,7 +416,8 @@ static int rsi_mac80211_add_interface(struct ieee80211_hw *hw,
/* Get free vap index */ /* Get free vap index */
for (i = 0; i < RSI_MAX_VIFS; i++) { for (i = 0; i < RSI_MAX_VIFS; i++) {
if (!adapter->vifs[i]) { if (!adapter->vifs[i] ||
!memcmp(vif->addr, adapter->vifs[i]->addr, ETH_ALEN)) {
vap_idx = i; vap_idx = i;
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment