Merge tag 'mac80211-for-davem-2018-02-22' of git://git.kernel.org/pub/scm/linux/kerne...
[sfrench/cifs-2.6.git] / net / mac80211 / agg-rx.c
index d64303390913027dea1c98a34c9f48594f1b6ea0..1f3188d0384028ef338e86c291441c20493cbcb5 100644 (file)
@@ -154,27 +154,16 @@ EXPORT_SYMBOL(ieee80211_stop_rx_ba_session);
  */
 static void sta_rx_agg_session_timer_expired(struct timer_list *t)
 {
-       struct tid_ampdu_rx *tid_rx_timer =
-               from_timer(tid_rx_timer, t, session_timer);
-       struct sta_info *sta = tid_rx_timer->sta;
-       u8 tid = tid_rx_timer->tid;
-       struct tid_ampdu_rx *tid_rx;
+       struct tid_ampdu_rx *tid_rx = from_timer(tid_rx, t, session_timer);
+       struct sta_info *sta = tid_rx->sta;
+       u8 tid = tid_rx->tid;
        unsigned long timeout;
 
-       rcu_read_lock();
-       tid_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]);
-       if (!tid_rx) {
-               rcu_read_unlock();
-               return;
-       }
-
        timeout = tid_rx->last_rx + TU_TO_JIFFIES(tid_rx->timeout);
        if (time_is_after_jiffies(timeout)) {
                mod_timer(&tid_rx->session_timer, timeout);
-               rcu_read_unlock();
                return;
        }
-       rcu_read_unlock();
 
        ht_dbg(sta->sdata, "RX session timer expired on %pM tid %d\n",
               sta->sta.addr, tid);
@@ -413,10 +402,11 @@ end:
                                          timeout);
 }
 
-void __ieee80211_start_rx_ba_session(struct sta_info *sta,
-                                    u8 dialog_token, u16 timeout,
-                                    u16 start_seq_num, u16 ba_policy, u16 tid,
-                                    u16 buf_size, bool tx, bool auto_seq)
+static void __ieee80211_start_rx_ba_session(struct sta_info *sta,
+                                           u8 dialog_token, u16 timeout,
+                                           u16 start_seq_num, u16 ba_policy,
+                                           u16 tid, u16 buf_size, bool tx,
+                                           bool auto_seq)
 {
        mutex_lock(&sta->ampdu_mlme.mtx);
        ___ieee80211_start_rx_ba_session(sta, dialog_token, timeout,