mac80211: backport latest patches except for NVRAM support
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 862-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch
index 49b223d7242ebd8cc1e5933f9e9ff882b4d1c5ab..5fdfa37277f0b4a9de718b658f2a12d0bc51e6c9 100644 (file)
@@ -10,12 +10,13 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 
 --- a/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
 
 --- a/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
-@@ -662,8 +662,36 @@ static struct wireless_dev *brcmf_cfg802
+@@ -692,9 +692,37 @@ static struct wireless_dev *brcmf_cfg802
                                                     u32 *flags,
                                                     struct vif_params *params)
  {
 +      struct net_device *dev;
        struct wireless_dev *wdev;
                                                     u32 *flags,
                                                     struct vif_params *params)
  {
 +      struct net_device *dev;
        struct wireless_dev *wdev;
+       int err;
  
 +      /*
 +       * There is a bug with in-firmware BSS management. When adding virtual
  
 +      /*
 +       * There is a bug with in-firmware BSS management. When adding virtual
@@ -45,5 +46,5 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 +      }
 +
        brcmf_dbg(TRACE, "enter: %s type %d\n", name, type);
 +      }
 +
        brcmf_dbg(TRACE, "enter: %s type %d\n", name, type);
-       switch (type) {
-       case NL80211_IFTYPE_ADHOC:
+       err = brcmf_vif_add_validate(wiphy_to_cfg(wiphy), type);
+       if (err) {