diff options
Diffstat (limited to 'net/mac80211/agg-tx.c')
| -rw-r--r-- | net/mac80211/agg-tx.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index b11883d26875..33da6f738c99 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c @@ -485,7 +485,14 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid)  	params.ssn = sta->tid_seq[tid] >> 4;  	ret = drv_ampdu_action(local, sdata, ¶ms); -	if (ret) { +	if (ret == IEEE80211_AMPDU_TX_START_IMMEDIATE) { +		/* +		 * We didn't send the request yet, so don't need to check +		 * here if we already got a response, just mark as driver +		 * ready immediately. +		 */ +		set_bit(HT_AGG_STATE_DRV_READY, &tid_tx->state); +	} else if (ret) {  		ht_dbg(sdata,  		       "BA request denied - HW unavailable for %pM tid %d\n",  		       sta->sta.addr, tid);  |