Thread (5 messages) 5 messages, 3 authors, 2016-06-13

Re: [PATCH] brcmfmac: rework function picking free BSS index

From: Rafał Miłecki <zajec5@gmail.com>
Date: 2016-06-13 20:25:09
Also in: lkml, netdev

On 13 June 2016 at 21:30, Arend van Spriel [off-list ref] wrote:
On 09-06-16 21:16, Arend van Spriel wrote:
quoted
On 26-05-16 01:44, Rafał Miłecki wrote:
quoted
The old implementation was overcomplicated and slightly bugged in some
corner cases.
[...]
quoted
quoted
New code is simpler, placed in file where it's really used, handles
running out of free BSS-es and allows using 4 interfaces at the same
time. It also looks for the first free BSS instead of one after the last
in use. It works well with current driver (which doesn't allow deleting
interfaces) and should be future proof (if we ever allow deleting).

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 .../broadcom/brcm80211/brcmfmac/cfg80211.c         | 17 ++++++++++++++-
 .../wireless/broadcom/brcm80211/brcmfmac/core.c    | 24 ----------------------
 .../wireless/broadcom/brcm80211/brcmfmac/core.h    |  1 -
 3 files changed, 16 insertions(+), 26 deletions(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index 3d09d23..d00eef8 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -541,6 +541,21 @@ brcmf_cfg80211_update_proto_addr_mode(struct wireless_dev *wdev)
                                             ADDR_INDIRECT);
 }

+static int brcmf_get_first_free_bsscfgidx(struct brcmf_pub *drvr)
+{
+    int bsscfgidx;
+
+    for (bsscfgidx = 0; bsscfgidx < BRCMF_MAX_IFS; bsscfgidx++) {
+            /* bsscfgidx 1 is reserved for legacy P2P */
Hi Rafał,

A bit late as the patch is already applied, but this reserved index is
no longer needed as we removed all trickery that was build on the
assumption that the P2P_DEVICE interface was always in bsscfgidx 1.
Hence this could be removed.
I tested STA on bsscfgidx=0, AP on bsscfgidx=1, and P2P_DEV on
bsscfgidx=2. P2P discovery on P2P_DEV interface works as expected so we
can indeed drop the 'bsscfgidx 1 is reserved' statement. I want to
verify on an older device before creating a patch.
Thanks for taking look at this.

-- 
Rafał
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help