From patchwork Mon Jan 4 20:58:12 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lennert Buytenhek X-Patchwork-Id: 70733 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id o04KwFn2022653 for ; Mon, 4 Jan 2010 20:58:15 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753346Ab0ADU6O (ORCPT ); Mon, 4 Jan 2010 15:58:14 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753083Ab0ADU6O (ORCPT ); Mon, 4 Jan 2010 15:58:14 -0500 Received: from fw.wantstofly.org ([80.101.37.227]:53800 "EHLO mail.wantstofly.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753094Ab0ADU6N (ORCPT ); Mon, 4 Jan 2010 15:58:13 -0500 Received: by mail.wantstofly.org (Postfix, from userid 500) id 82DAF18E194; Mon, 4 Jan 2010 21:58:12 +0100 (CET) Date: Mon, 4 Jan 2010 21:58:12 +0100 From: Lennert Buytenhek To: linville@tuxdriver.com, linux-wireless@vger.kernel.org Subject: [PATCH 13/14] mwl8k: trivial rx-only ampdu implementation Message-ID: <20100104205812.GM1735@mail.wantstofly.org> Mime-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.4.2.2i Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c index 85e0d2d..887ce0f 100644 --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c @@ -3311,6 +3311,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, @@ -3326,6 +3342,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)