mwl8k: trivial rx-only ampdu implementation

AMPDU receive doesn't need any special handling, so let's enable
this before tackling the transmit side.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Lennert Buytenhek 2010-01-04 21:58:12 +01:00 committed by John W. Linville
parent 13935e2cf3
commit a2292d83b5
1 changed files with 17 additions and 0 deletions

View File

@ -3309,6 +3309,22 @@ static int mwl8k_get_stats(struct ieee80211_hw *hw,
return mwl8k_cmd_get_stat(hw, stats);
}
static int
mwl8k_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
enum ieee80211_ampdu_mlme_action action,
struct ieee80211_sta *sta, u16 tid, u16 *ssn)
{
switch (action) {
case IEEE80211_AMPDU_RX_START:
case IEEE80211_AMPDU_RX_STOP:
if (!(hw->flags & IEEE80211_HW_AMPDU_AGGREGATION))
return -ENOTSUPP;
return 0;
default:
return -ENOTSUPP;
}
}
static const struct ieee80211_ops mwl8k_ops = {
.tx = mwl8k_tx,
.start = mwl8k_start,
@ -3324,6 +3340,7 @@ static const struct ieee80211_ops mwl8k_ops = {
.conf_tx = mwl8k_conf_tx,
.get_tx_stats = mwl8k_get_tx_stats,
.get_stats = mwl8k_get_stats,
.ampdu_action = mwl8k_ampdu_action,
};
static void mwl8k_tx_reclaim_handler(unsigned long data)