[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-backports
Subject: [PATCH V2] network: mac80211: rework multicast patches for mac80211
From: Arend van Spriel <arend () broadcom ! com>
Date: 2013-12-22 10:51:05
Message-ID: 1387709465-19004-1-git-send-email-arend () broadcom ! com
[Download RAW message or body]
Fixing up the patches for mac80211 that were located under
collateral-evolutions/network/25-multicast-list_head.
Signed-off-by: Arend van Spriel <arend@broadcom.com>
---
.../include_net_mac80211.patch | 14 +--------
.../net_mac80211_driver-ops.patch | 33 +-------------------
.../net_mac80211_iface.patch | 16 +++-------
3 files changed, 6 insertions(+), 57 deletions(-)
diff --git a/patches/collateral-evolutions/network/25-multicast-list_head/include_net_mac80211.patch \
b/patches/collateral-evolutions/network/25-multicast-list_head/include_net_mac80211.patch
index 1635cd0..ae30fe1 100644
--- a/patches/collateral-evolutions/network/25-multicast-list_head/include_net_mac80211.patch
+++ b/patches/collateral-evolutions/network/25-multicast-list_head/include_net_mac80211.patch
@@ -1,6 +1,6 @@
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
-@@ -2719,14 +2719,24 @@ struct ieee80211_ops {
+@@ -2719,8 +2719,12 @@ struct ieee80211_ops {
void (*stop_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
u64 (*prepare_multicast)(struct ieee80211_hw *hw,
@@ -13,15 +13,3 @@
unsigned int changed_flags,
unsigned int *total_flags,
u64 multicast);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
- void (*set_multicast_list)(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif, bool allmulti,
- struct netdev_hw_addr_list *mc_list);
-+#else
-+ void (*set_multicast_list)(struct ieee80211_hw *hw,
-+ struct ieee80211_vif *vif, bool allmulti,
-+ int mc_count, struct dev_addr_list *ha);
-+#endif
-
- int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
- bool set);
diff --git a/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_driver-ops.patch \
b/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_driver-ops.patch
index 042cca7..0332c91 100644
--- a/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_driver-ops.patch
+++ b/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_driver-ops.patch
@@ -1,6 +1,6 @@
--- a/net/mac80211/driver-ops.h
+++ b/net/mac80211/driver-ops.h
-@@ -228,20 +228,35 @@ static inline void drv_bss_info_changed(
+@@ -228,14 +228,28 @@ static inline void drv_bss_info_changed(
}
static inline u64 drv_prepare_multicast(struct ieee80211_local *local,
@@ -29,34 +29,3 @@
trace_drv_return_u64(local, ret);
- return ret;
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
- static inline void drv_set_multicast_list(struct ieee80211_local *local,
- struct ieee80211_sub_if_data *sdata,
- struct netdev_hw_addr_list *mc_list)
-@@ -257,6 +272,23 @@ static inline void drv_set_multicast_lis
- allmulti, mc_list);
- trace_drv_return_void(local);
- }
-+#else
-+static inline void drv_set_multicast_list(struct ieee80211_local *local,
-+ struct ieee80211_sub_if_data *sdata,
-+ int mc_count, struct dev_addr_list *ha)
-+{
-+ bool allmulti = sdata->flags & IEEE80211_SDATA_ALLMULTI;
-+
-+ trace_drv_set_multicast_list(local, sdata, mc_count);
-+
-+ check_sdata_in_driver(sdata);
-+
-+ if (local->ops->set_multicast_list)
-+ local->ops->set_multicast_list(&local->hw, &sdata->vif,
-+ allmulti, mc_count, ha);
-+ trace_drv_return_void(local);
-+}
-+#endif
-
- static inline void drv_configure_filter(struct ieee80211_local *local,
- unsigned int changed_flags,
diff --git a/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_iface.patch \
b/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_iface.patch
index d196bca..e03645b 100644
--- a/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_iface.patch
+++ b/patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_iface.patch
@@ -1,6 +1,6 @@
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -807,8 +807,13 @@ static void ieee80211_do_stop(struct iee
+@@ -808,8 +808,13 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data \
*sdata, if (sdata->dev) {
netif_addr_lock_bh(sdata->dev);
spin_lock_bh(&local->filter_lock);
@@ -14,17 +14,9 @@
spin_unlock_bh(&local->filter_lock);
netif_addr_unlock_bh(sdata->dev);
}
-@@ -1022,10 +1027,20 @@ static void ieee80211_set_multicast_list
- if (sdata->vif.type != NL80211_IFTYPE_MONITOR &&
- sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
- sdata->vif.type != NL80211_IFTYPE_AP)
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
- drv_set_multicast_list(local, sdata, &dev->mc);
-+#else
-+ drv_set_multicast_list(local, sdata, dev->mc_count,
-+ dev->mc_list);
-+#endif
-
+@@ -1009,7 +1014,12 @@ static void ieee80211_set_multicast_list(struct net_device \
*dev) + sdata->flags ^= IEEE80211_SDATA_PROMISC;
+ }
spin_lock_bh(&local->filter_lock);
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
__hw_addr_sync(&local->mc_list, &dev->mc, dev->addr_len);
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic