diff options
-rw-r--r-- | include/net/mac80211.h | 7 | ||||
-rw-r--r-- | net/mac80211/driver-ops.h | 16 | ||||
-rw-r--r-- | net/mac80211/iface.c | 11 | ||||
-rw-r--r-- | net/mac80211/trace.h | 24 |
4 files changed, 0 insertions, 58 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 3cd408b326de..73d99bc3e636 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -2398,9 +2398,6 @@ enum ieee80211_roc_type { | |||
2398 | * See the section "Frame filtering" for more information. | 2398 | * See the section "Frame filtering" for more information. |
2399 | * This callback must be implemented and can sleep. | 2399 | * This callback must be implemented and can sleep. |
2400 | * | 2400 | * |
2401 | * @set_multicast_list: Configure the device's interface specific RX multicast | ||
2402 | * filter. This callback is optional. This callback must be atomic. | ||
2403 | * | ||
2404 | * @set_tim: Set TIM bit. mac80211 calls this function when a TIM bit | 2401 | * @set_tim: Set TIM bit. mac80211 calls this function when a TIM bit |
2405 | * must be set or cleared for a given STA. Must be atomic. | 2402 | * must be set or cleared for a given STA. Must be atomic. |
2406 | * | 2403 | * |
@@ -2764,10 +2761,6 @@ struct ieee80211_ops { | |||
2764 | unsigned int changed_flags, | 2761 | unsigned int changed_flags, |
2765 | unsigned int *total_flags, | 2762 | unsigned int *total_flags, |
2766 | u64 multicast); | 2763 | u64 multicast); |
2767 | void (*set_multicast_list)(struct ieee80211_hw *hw, | ||
2768 | struct ieee80211_vif *vif, bool allmulti, | ||
2769 | struct netdev_hw_addr_list *mc_list); | ||
2770 | |||
2771 | int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, | 2764 | int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, |
2772 | bool set); | 2765 | bool set); |
2773 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, | 2766 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, |
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index 5d03c47c0a4c..f98059a45aa5 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h | |||
@@ -242,22 +242,6 @@ static inline u64 drv_prepare_multicast(struct ieee80211_local *local, | |||
242 | return ret; | 242 | return ret; |
243 | } | 243 | } |
244 | 244 | ||
245 | static inline void drv_set_multicast_list(struct ieee80211_local *local, | ||
246 | struct ieee80211_sub_if_data *sdata, | ||
247 | struct netdev_hw_addr_list *mc_list) | ||
248 | { | ||
249 | bool allmulti = sdata->flags & IEEE80211_SDATA_ALLMULTI; | ||
250 | |||
251 | trace_drv_set_multicast_list(local, sdata, mc_list->count); | ||
252 | |||
253 | check_sdata_in_driver(sdata); | ||
254 | |||
255 | if (local->ops->set_multicast_list) | ||
256 | local->ops->set_multicast_list(&local->hw, &sdata->vif, | ||
257 | allmulti, mc_list); | ||
258 | trace_drv_return_void(local); | ||
259 | } | ||
260 | |||
261 | static inline void drv_configure_filter(struct ieee80211_local *local, | 245 | static inline void drv_configure_filter(struct ieee80211_local *local, |
262 | unsigned int changed_flags, | 246 | unsigned int changed_flags, |
263 | unsigned int *total_flags, | 247 | unsigned int *total_flags, |
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index d226751ba63a..3e5c89a295b9 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -1018,17 +1018,6 @@ static void ieee80211_set_multicast_list(struct net_device *dev) | |||
1018 | atomic_dec(&local->iff_promiscs); | 1018 | atomic_dec(&local->iff_promiscs); |
1019 | sdata->flags ^= IEEE80211_SDATA_PROMISC; | 1019 | sdata->flags ^= IEEE80211_SDATA_PROMISC; |
1020 | } | 1020 | } |
1021 | |||
1022 | /* | ||
1023 | * TODO: If somebody needs this on AP interfaces, | ||
1024 | * it can be enabled easily but multicast | ||
1025 | * addresses from VLANs need to be synced. | ||
1026 | */ | ||
1027 | if (sdata->vif.type != NL80211_IFTYPE_MONITOR && | ||
1028 | sdata->vif.type != NL80211_IFTYPE_AP_VLAN && | ||
1029 | sdata->vif.type != NL80211_IFTYPE_AP) | ||
1030 | drv_set_multicast_list(local, sdata, &dev->mc); | ||
1031 | |||
1032 | spin_lock_bh(&local->filter_lock); | 1021 | spin_lock_bh(&local->filter_lock); |
1033 | __hw_addr_sync(&local->mc_list, &dev->mc, dev->addr_len); | 1022 | __hw_addr_sync(&local->mc_list, &dev->mc, dev->addr_len); |
1034 | spin_unlock_bh(&local->filter_lock); | 1023 | spin_unlock_bh(&local->filter_lock); |
diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h index 8db560190ca6..9d213e82326e 100644 --- a/net/mac80211/trace.h +++ b/net/mac80211/trace.h | |||
@@ -443,30 +443,6 @@ TRACE_EVENT(drv_prepare_multicast, | |||
443 | ) | 443 | ) |
444 | ); | 444 | ); |
445 | 445 | ||
446 | TRACE_EVENT(drv_set_multicast_list, | ||
447 | TP_PROTO(struct ieee80211_local *local, | ||
448 | struct ieee80211_sub_if_data *sdata, int mc_count), | ||
449 | |||
450 | TP_ARGS(local, sdata, mc_count), | ||
451 | |||
452 | TP_STRUCT__entry( | ||
453 | LOCAL_ENTRY | ||
454 | __field(bool, allmulti) | ||
455 | __field(int, mc_count) | ||
456 | ), | ||
457 | |||
458 | TP_fast_assign( | ||
459 | LOCAL_ASSIGN; | ||
460 | __entry->allmulti = sdata->flags & IEEE80211_SDATA_ALLMULTI; | ||
461 | __entry->mc_count = mc_count; | ||
462 | ), | ||
463 | |||
464 | TP_printk( | ||
465 | LOCAL_PR_FMT " configure mc filter, count=%d, allmulti=%d", | ||
466 | LOCAL_PR_ARG, __entry->mc_count, __entry->allmulti | ||
467 | ) | ||
468 | ); | ||
469 | |||
470 | TRACE_EVENT(drv_configure_filter, | 446 | TRACE_EVENT(drv_configure_filter, |
471 | TP_PROTO(struct ieee80211_local *local, | 447 | TP_PROTO(struct ieee80211_local *local, |
472 | unsigned int changed_flags, | 448 | unsigned int changed_flags, |