Skip to content

Commit

Permalink
mac80211: use maximum number of AMPDU frames as default in BA RX
Browse files Browse the repository at this point in the history
When the buffer size is set to zero in the block ack parameter set
field, we should use the maximum supported number of subframes.  The
existing code was bogus and was doing some unnecessary calculations
that lead to wrong values.

Thanks Johannes for helping me figure this one out.

Cc: [email protected]
Cc: Johannes Berg <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
Reviewed-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
  • Loading branch information
Luciano Coelho authored and linvjw committed Jan 13, 2011
1 parent 681c4d0 commit 82694f7
Showing 1 changed file with 2 additions and 9 deletions.
11 changes: 2 additions & 9 deletions net/mac80211/agg-rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,6 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
struct ieee80211_mgmt *mgmt,
size_t len)
{
struct ieee80211_hw *hw = &local->hw;
struct ieee80211_conf *conf = &hw->conf;
struct tid_ampdu_rx *tid_agg_rx;
u16 capab, tid, timeout, ba_policy, buf_size, start_seq_num, status;
u8 dialog_token;
Expand Down Expand Up @@ -231,13 +229,8 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
goto end_no_lock;
}
/* determine default buffer size */
if (buf_size == 0) {
struct ieee80211_supported_band *sband;

sband = local->hw.wiphy->bands[conf->channel->band];
buf_size = IEEE80211_MIN_AMPDU_BUF;
buf_size = buf_size << sband->ht_cap.ampdu_factor;
}
if (buf_size == 0)
buf_size = IEEE80211_MAX_AMPDU_BUF;


/* examine state machine */
Expand Down

0 comments on commit 82694f7

Please sign in to comment.