struct ieee80211_local *local = sdata->local;
        struct sta_info *sta;
        struct tid_ampdu_tx *tid_tx;
+       bool send_delba = false;
 
        trace_api_stop_tx_ba_cb(sdata, ra, tid);
 
        }
 
        if (tid_tx->stop_initiator == WLAN_BACK_INITIATOR && tid_tx->tx_stop)
-               ieee80211_send_delba(sta->sdata, ra, tid,
-                       WLAN_BACK_INITIATOR, WLAN_REASON_QSTA_NOT_USE);
+               send_delba = true;
 
        ieee80211_remove_tid_tx(sta, tid);
 
  unlock_sta:
        spin_unlock_bh(&sta->lock);
+
+       if (send_delba)
+               ieee80211_send_delba(sdata, ra, tid,
+                       WLAN_BACK_INITIATOR, WLAN_REASON_QSTA_NOT_USE);
+
        mutex_unlock(&sta->ampdu_mlme.mtx);
  unlock:
        mutex_unlock(&local->sta_mtx);