mac80211: brcmfmac: backport patch simplifying brcmf_alloc_vif
authorRafał Miłecki <zajec5@gmail.com>
Thu, 29 Sep 2016 12:24:14 +0000 (14:24 +0200)
committerZoltan HERPAI <wigyori@uid0.hu>
Thu, 29 Sep 2016 12:24:14 +0000 (14:24 +0200)
This is quite trivial and will be required for VIF fixes in the future.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
package/kernel/mac80211/patches/351-0017-brcmfmac-drop-unused-pm_block-vif-attribute.patch [new file with mode: 0644]
package/kernel/mac80211/patches/351-0019-brcmfmac-slightly-simplify-building-interface-combin.patch
package/kernel/mac80211/patches/351-0020-brcmfmac-fix-lockup-when-removing-P2P-interface-afte.patch
package/kernel/mac80211/patches/351-0023-brcmfmac-add-missing-break-when-deleting-P2P_DEVICE.patch
package/kernel/mac80211/patches/351-0024-brcmfmac-delete-interface-directly-in-code-that-sent.patch

diff --git a/package/kernel/mac80211/patches/351-0017-brcmfmac-drop-unused-pm_block-vif-attribute.patch b/package/kernel/mac80211/patches/351-0017-brcmfmac-drop-unused-pm_block-vif-attribute.patch
new file mode 100644 (file)
index 0000000..6cf8135
--- /dev/null
@@ -0,0 +1,103 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
+Date: Mon, 6 Jun 2016 23:03:55 +0200
+Subject: [PATCH] brcmfmac: drop unused pm_block vif attribute
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This attribute was added 3 years ago by
+commit 3eacf866559c ("brcmfmac: introduce brcmf_cfg80211_vif structure")
+but it remains unused since then. It seems we can safely drop it.
+
+Signed-off-by: RafaÅ\82 MiÅ\82ecki <zajec5@gmail.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+@@ -566,7 +566,7 @@ struct wireless_dev *brcmf_ap_add_vif(st
+       brcmf_dbg(INFO, "Adding vif \"%s\"\n", name);
+-      vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_AP, false);
++      vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_AP);
+       if (IS_ERR(vif))
+               return (struct wireless_dev *)vif;
+@@ -4995,8 +4995,7 @@ static struct cfg80211_ops wl_cfg80211_o
+ };
+ struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
+-                                         enum nl80211_iftype type,
+-                                         bool pm_block)
++                                         enum nl80211_iftype type)
+ {
+       struct brcmf_cfg80211_vif *vif_walk;
+       struct brcmf_cfg80211_vif *vif;
+@@ -5011,8 +5010,6 @@ struct brcmf_cfg80211_vif *brcmf_alloc_v
+       vif->wdev.wiphy = cfg->wiphy;
+       vif->wdev.iftype = type;
+-      vif->pm_block = pm_block;
+-
+       brcmf_init_prof(&vif->profile);
+       if (type == NL80211_IFTYPE_AP) {
+@@ -6582,7 +6579,7 @@ struct brcmf_cfg80211_info *brcmf_cfg802
+       init_vif_event(&cfg->vif_event);
+       INIT_LIST_HEAD(&cfg->vif_list);
+-      vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_STATION, false);
++      vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_STATION);
+       if (IS_ERR(vif))
+               goto wiphy_out;
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
+@@ -165,7 +165,6 @@ struct vif_saved_ie {
+  * @wdev: wireless device.
+  * @profile: profile information.
+  * @sme_state: SME state using enum brcmf_vif_status bits.
+- * @pm_block: power-management blocked.
+  * @list: linked list.
+  * @mgmt_rx_reg: registered rx mgmt frame types.
+  * @mbss: Multiple BSS type, set if not first AP (not relevant for P2P).
+@@ -175,7 +174,6 @@ struct brcmf_cfg80211_vif {
+       struct wireless_dev wdev;
+       struct brcmf_cfg80211_profile profile;
+       unsigned long sme_state;
+-      bool pm_block;
+       struct vif_saved_ie saved_ie;
+       struct list_head list;
+       u16 mgmt_rx_reg;
+@@ -386,8 +384,7 @@ s32 brcmf_cfg80211_down(struct net_devic
+ enum nl80211_iftype brcmf_cfg80211_get_iftype(struct brcmf_if *ifp);
+ struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
+-                                         enum nl80211_iftype type,
+-                                         bool pm_block);
++                                         enum nl80211_iftype type);
+ void brcmf_free_vif(struct brcmf_cfg80211_vif *vif);
+ s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag,
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
+@@ -2064,8 +2064,7 @@ static struct wireless_dev *brcmf_p2p_cr
+       if (p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif)
+               return ERR_PTR(-ENOSPC);
+-      p2p_vif = brcmf_alloc_vif(p2p->cfg, NL80211_IFTYPE_P2P_DEVICE,
+-                                false);
++      p2p_vif = brcmf_alloc_vif(p2p->cfg, NL80211_IFTYPE_P2P_DEVICE);
+       if (IS_ERR(p2p_vif)) {
+               brcmf_err("could not create discovery vif\n");
+               return (struct wireless_dev *)p2p_vif;
+@@ -2165,7 +2164,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
+               return ERR_PTR(-EOPNOTSUPP);
+       }
+-      vif = brcmf_alloc_vif(cfg, type, false);
++      vif = brcmf_alloc_vif(cfg, type);
+       if (IS_ERR(vif))
+               return (struct wireless_dev *)vif;
+       brcmf_cfg80211_arm_vif_event(cfg, vif);
index 9728516..be6606d 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -6108,29 +6108,15 @@ static int brcmf_setup_ifmodes(struct wi
+@@ -6105,29 +6105,15 @@ static int brcmf_setup_ifmodes(struct wi
        if (!combo)
                goto err;
  
@@ -56,7 +56,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
        c0_limits[i].max = 1;
        c0_limits[i++].types = BIT(NL80211_IFTYPE_STATION);
        if (p2p) {
-@@ -6148,6 +6134,7 @@ static int brcmf_setup_ifmodes(struct wi
+@@ -6145,6 +6131,7 @@ static int brcmf_setup_ifmodes(struct wi
                c0_limits[i].max = 1;
                c0_limits[i++].types = BIT(NL80211_IFTYPE_AP);
        }
@@ -64,7 +64,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
        combo[c].max_interfaces = i;
        combo[c].n_limits = i;
        combo[c].limits = c0_limits;
-@@ -6155,7 +6142,9 @@ static int brcmf_setup_ifmodes(struct wi
+@@ -6152,7 +6139,9 @@ static int brcmf_setup_ifmodes(struct wi
        if (p2p) {
                c++;
                i = 0;
@@ -75,7 +75,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
                p2p_limits[i].max = 1;
                p2p_limits[i++].types = BIT(NL80211_IFTYPE_STATION);
                p2p_limits[i].max = 1;
-@@ -6164,6 +6153,7 @@ static int brcmf_setup_ifmodes(struct wi
+@@ -6161,6 +6150,7 @@ static int brcmf_setup_ifmodes(struct wi
                p2p_limits[i++].types = BIT(NL80211_IFTYPE_P2P_CLIENT);
                p2p_limits[i].max = 1;
                p2p_limits[i++].types = BIT(NL80211_IFTYPE_P2P_DEVICE);
@@ -83,7 +83,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
                combo[c].max_interfaces = i;
                combo[c].n_limits = i;
                combo[c].limits = p2p_limits;
-@@ -6171,14 +6161,19 @@ static int brcmf_setup_ifmodes(struct wi
+@@ -6168,14 +6158,19 @@ static int brcmf_setup_ifmodes(struct wi
  
        if (mbss) {
                c++;
index 174d9a4..0472290 100644 (file)
@@ -134,7 +134,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
  /**
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
-@@ -2280,7 +2280,7 @@ int brcmf_p2p_del_vif(struct wiphy *wiph
+@@ -2279,7 +2279,7 @@ int brcmf_p2p_del_vif(struct wiphy *wiph
                        err = 0;
        }
        if (err)
@@ -143,7 +143,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
  
        brcmf_cfg80211_arm_vif_event(cfg, NULL);
        if (vif->wdev.iftype != NL80211_IFTYPE_P2P_DEVICE)
-@@ -2386,7 +2386,7 @@ void brcmf_p2p_detach(struct brcmf_p2p_i
+@@ -2385,7 +2385,7 @@ void brcmf_p2p_detach(struct brcmf_p2p_i
        if (vif != NULL) {
                brcmf_p2p_cancel_remain_on_channel(vif->ifp);
                brcmf_p2p_deinit_discovery(p2p);
index 4e01532..1ed0fc1 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
-@@ -2254,6 +2254,8 @@ int brcmf_p2p_del_vif(struct wiphy *wiph
+@@ -2253,6 +2253,8 @@ int brcmf_p2p_del_vif(struct wiphy *wiph
                        return 0;
                brcmf_p2p_cancel_remain_on_channel(vif->ifp);
                brcmf_p2p_deinit_discovery(p2p);
index f3f6cdb..3268051 100644 (file)
@@ -63,7 +63,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
  /**
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
-@@ -2281,8 +2281,7 @@ int brcmf_p2p_del_vif(struct wiphy *wiph
+@@ -2280,8 +2280,7 @@ int brcmf_p2p_del_vif(struct wiphy *wiph
                else
                        err = 0;
        }