From patchwork Tue Jan 12 12:48:56 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lennert Buytenhek X-Patchwork-Id: 72378 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 o0CCmwYN011455 for ; Tue, 12 Jan 2010 12:48:58 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753345Ab0ALMs6 (ORCPT ); Tue, 12 Jan 2010 07:48:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753321Ab0ALMs5 (ORCPT ); Tue, 12 Jan 2010 07:48:57 -0500 Received: from fw.wantstofly.org ([80.101.37.227]:58840 "EHLO mail.wantstofly.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753312Ab0ALMs5 (ORCPT ); Tue, 12 Jan 2010 07:48:57 -0500 Received: by mail.wantstofly.org (Postfix, from userid 500) id 61C9118E1FC; Tue, 12 Jan 2010 13:48:56 +0100 (CET) Date: Tue, 12 Jan 2010 13:48:56 +0100 From: Lennert Buytenhek To: linville@tuxdriver.com, linux-wireless@vger.kernel.org Subject: [PATCH 09/17] mwl8k: properly set receive status rate index on 5 GHz receive Message-ID: <20100112124856.GY1735@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 13dded4..cc2ce61 100644 --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c @@ -759,7 +759,13 @@ mwl8k_rxd_8366_ap_process(void *_rxd, struct ieee80211_rx_status *status, } } - status->band = IEEE80211_BAND_2GHZ; + if (rxd->channel > 14) { + status->band = IEEE80211_BAND_5GHZ; + if (!(status->flag & RX_FLAG_HT)) + status->rate_idx -= 5; + } else { + status->band = IEEE80211_BAND_2GHZ; + } status->freq = ieee80211_channel_to_frequency(rxd->channel); *qos = rxd->qos_control; @@ -850,7 +856,13 @@ mwl8k_rxd_sta_process(void *_rxd, struct ieee80211_rx_status *status, if (rate_info & MWL8K_STA_RATE_INFO_MCS_FORMAT) status->flag |= RX_FLAG_HT; - status->band = IEEE80211_BAND_2GHZ; + if (rxd->channel > 14) { + status->band = IEEE80211_BAND_5GHZ; + if (!(status->flag & RX_FLAG_HT)) + status->rate_idx -= 5; + } else { + status->band = IEEE80211_BAND_2GHZ; + } status->freq = ieee80211_channel_to_frequency(rxd->channel); *qos = rxd->qos_control;