diff options
Diffstat (limited to 'net/mac80211/driver-ops.h')
-rw-r--r-- | net/mac80211/driver-ops.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index 4f2271316650..7d18a3245e3d 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h | |||
@@ -83,6 +83,23 @@ static inline void drv_bss_info_changed(struct ieee80211_local *local, | |||
83 | trace_drv_bss_info_changed(local, sdata, info, changed); | 83 | trace_drv_bss_info_changed(local, sdata, info, changed); |
84 | } | 84 | } |
85 | 85 | ||
86 | struct in_ifaddr; | ||
87 | static inline int drv_configure_arp_filter(struct ieee80211_local *local, | ||
88 | struct ieee80211_vif *vif, | ||
89 | struct in_ifaddr *ifa_list) | ||
90 | { | ||
91 | int ret = 0; | ||
92 | |||
93 | might_sleep(); | ||
94 | |||
95 | if (local->ops->configure_arp_filter) | ||
96 | ret = local->ops->configure_arp_filter(&local->hw, vif, | ||
97 | ifa_list); | ||
98 | |||
99 | trace_drv_configure_arp_filter(local, vif_to_sdata(vif), ifa_list, ret); | ||
100 | return ret; | ||
101 | } | ||
102 | |||
86 | static inline u64 drv_prepare_multicast(struct ieee80211_local *local, | 103 | static inline u64 drv_prepare_multicast(struct ieee80211_local *local, |
87 | struct netdev_hw_addr_list *mc_list) | 104 | struct netdev_hw_addr_list *mc_list) |
88 | { | 105 | { |
@@ -252,9 +269,6 @@ static inline int drv_sta_add(struct ieee80211_local *local, | |||
252 | 269 | ||
253 | if (local->ops->sta_add) | 270 | if (local->ops->sta_add) |
254 | ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); | 271 | ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); |
255 | else if (local->ops->sta_notify) | ||
256 | local->ops->sta_notify(&local->hw, &sdata->vif, | ||
257 | STA_NOTIFY_ADD, sta); | ||
258 | 272 | ||
259 | trace_drv_sta_add(local, sdata, sta, ret); | 273 | trace_drv_sta_add(local, sdata, sta, ret); |
260 | 274 | ||
@@ -269,9 +283,6 @@ static inline void drv_sta_remove(struct ieee80211_local *local, | |||
269 | 283 | ||
270 | if (local->ops->sta_remove) | 284 | if (local->ops->sta_remove) |
271 | local->ops->sta_remove(&local->hw, &sdata->vif, sta); | 285 | local->ops->sta_remove(&local->hw, &sdata->vif, sta); |
272 | else if (local->ops->sta_notify) | ||
273 | local->ops->sta_notify(&local->hw, &sdata->vif, | ||
274 | STA_NOTIFY_REMOVE, sta); | ||
275 | 286 | ||
276 | trace_drv_sta_remove(local, sdata, sta); | 287 | trace_drv_sta_remove(local, sdata, sta); |
277 | } | 288 | } |
@@ -349,7 +360,7 @@ static inline int drv_get_survey(struct ieee80211_local *local, int idx, | |||
349 | struct survey_info *survey) | 360 | struct survey_info *survey) |
350 | { | 361 | { |
351 | int ret = -EOPNOTSUPP; | 362 | int ret = -EOPNOTSUPP; |
352 | if (local->ops->conf_tx) | 363 | if (local->ops->get_survey) |
353 | ret = local->ops->get_survey(&local->hw, idx, survey); | 364 | ret = local->ops->get_survey(&local->hw, idx, survey); |
354 | /* trace_drv_get_survey(local, idx, survey, ret); */ | 365 | /* trace_drv_get_survey(local, idx, survey, ret); */ |
355 | return ret; | 366 | return ret; |