bar->control = cpu_to_le16(bar_control);
        bar->start_seq_num = cpu_to_le16(ssn);
  
 -      ieee80211_tx_skb(sdata, skb, 0);
 +      IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT;
 +      ieee80211_tx_skb(sdata, skb);
  }
  
- static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
-                                          enum ieee80211_back_parties initiator)
+ int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
+                                   enum ieee80211_back_parties initiator)
  {
        struct ieee80211_local *local = sta->local;
        int ret;
        return ret;
  }
  
 -int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
 -                               u8 *ra, u16 tid,
 +int ieee80211_stop_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
                                 enum ieee80211_back_parties initiator)
  {
 -      struct ieee80211_local *local = hw_to_local(hw);
 -      struct sta_info *sta;
 -      int ret = 0;
 +      struct sta_info *sta = container_of(pubsta, struct sta_info, sta);
 +      struct ieee80211_sub_if_data *sdata = sta->sdata;
 +      struct ieee80211_local *local = sdata->local;
  
-       if (WARN_ON(!local->ops->ampdu_action))
+       if (!local->ops->ampdu_action)
                return -EINVAL;
  
        if (tid >= STA_TID_NUM)