brcmfmac: restrict error condition in brcmf_inform_bss()
authorArend van Spriel <arend@broadcom.com>
Tue, 6 Nov 2012 00:22:11 +0000 (16:22 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 14 Nov 2012 19:55:43 +0000 (14:55 -0500)
The function brcmf_inform_bss() validates the version received
from the device, before processing the individual bss entries.
This error condition is only applicable when the list contains
entries. A specific scan, ie. for a specific ssid, can result
in a scan completion without finding any bss entries. No need
to flag it as an error in the log when this happens.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c

index f05ab77..c979ce1 100644 (file)
@@ -2345,7 +2345,8 @@ static s32 brcmf_inform_bss(struct brcmf_cfg80211_info *cfg)
        int i;
 
        bss_list = cfg->bss_list;
-       if (bss_list->version != BRCMF_BSS_INFO_VERSION) {
+       if (bss_list->count != 0 &&
+           bss_list->version != BRCMF_BSS_INFO_VERSION) {
                WL_ERR("Version %d != WL_BSS_INFO_VERSION\n",
                       bss_list->version);
                return -EOPNOTSUPP;