]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/mac80211/rate.h
Merge branch 'vhost' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[mv-sheeva.git] / net / mac80211 / rate.h
index cb9bd1f65e2710bb9931abb3bcc32e5d577d7a39..065a96190e32a28409dda91110d929f9690c2f64 100644 (file)
@@ -26,10 +26,6 @@ struct rate_control_ref {
        struct kref kref;
 };
 
-/* Get a reference to the rate control algorithm. If `name' is NULL, get the
- * first available algorithm. */
-struct rate_control_ref *rate_control_alloc(const char *name,
-                                           struct ieee80211_local *local);
 void rate_control_get_rate(struct ieee80211_sub_if_data *sdata,
                           struct sta_info *sta,
                           struct ieee80211_tx_rate_control *txrc);
@@ -44,10 +40,11 @@ static inline void rate_control_tx_status(struct ieee80211_local *local,
        struct rate_control_ref *ref = local->rate_ctrl;
        struct ieee80211_sta *ista = &sta->sta;
        void *priv_sta = sta->rate_ctrl_priv;
-       struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
 
-       if (likely(info->flags & IEEE80211_TX_INTFL_RCALGO))
-               ref->ops->tx_status(ref->priv, sband, ista, priv_sta, skb);
+       if (!ref)
+               return;
+
+       ref->ops->tx_status(ref->priv, sband, ista, priv_sta, skb);
 }
 
 
@@ -69,7 +66,8 @@ static inline void rate_control_rate_init(struct sta_info *sta)
 
 static inline void rate_control_rate_update(struct ieee80211_local *local,
                                    struct ieee80211_supported_band *sband,
-                                   struct sta_info *sta, u32 changed)
+                                   struct sta_info *sta, u32 changed,
+                                   enum nl80211_channel_type oper_chan_type)
 {
        struct rate_control_ref *ref = local->rate_ctrl;
        struct ieee80211_sta *ista = &sta->sta;
@@ -77,7 +75,7 @@ static inline void rate_control_rate_update(struct ieee80211_local *local,
 
        if (ref && ref->ops->rate_update)
                ref->ops->rate_update(ref->priv, sband, ista,
-                                     priv_sta, changed);
+                                     priv_sta, changed, oper_chan_type);
 }
 
 static inline void *rate_control_alloc_sta(struct rate_control_ref *ref,
@@ -115,7 +113,8 @@ static inline void rate_control_remove_sta_debugfs(struct sta_info *sta)
 #endif
 }
 
-/* functions for rate control related to a device */
+/* Get a reference to the rate control algorithm. If `name' is NULL, get the
+ * first available algorithm. */
 int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local,
                                 const char *name);
 void rate_control_deinitialize(struct ieee80211_local *local);