From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423071AbcFMUZJ (ORCPT ); Mon, 13 Jun 2016 16:25:09 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:33370 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161183AbcFMUZH convert rfc822-to-8bit (ORCPT ); Mon, 13 Jun 2016 16:25:07 -0400 MIME-Version: 1.0 In-Reply-To: <575F09D7.6030505@broadcom.com> References: <1464219876-13776-1-git-send-email-zajec5@gmail.com> <5759C09F.7020704@broadcom.com> <575F09D7.6030505@broadcom.com> From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Date: Mon, 13 Jun 2016 22:25:05 +0200 Message-ID: Subject: Re: [PATCH] brcmfmac: rework function picking free BSS index To: Arend van Spriel Cc: Kalle Valo , Brett Rudley , Arend van Spriel , "Franky (Zhenhui) Lin" , Hante Meuleman , Pieter-Paul Giesberts , Franky Lin , "open list:BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER" , "open list:BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER" , "open list:NETWORKING DRIVERS" , open list Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13 June 2016 at 21:30, Arend van Spriel wrote: > On 09-06-16 21:16, Arend van Spriel wrote: >> On 26-05-16 01:44, Rafał Miłecki wrote: >>> The old implementation was overcomplicated and slightly bugged in some >>> corner cases. >>> > > [...] > >>> 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 >>> --- >>> .../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ł