diff options
-rw-r--r-- | drivers/net/wireless/mwl8k.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c index 13dded49323e..cc2ce61b7992 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, | |||
759 | } | 759 | } |
760 | } | 760 | } |
761 | 761 | ||
762 | status->band = IEEE80211_BAND_2GHZ; | 762 | if (rxd->channel > 14) { |
763 | status->band = IEEE80211_BAND_5GHZ; | ||
764 | if (!(status->flag & RX_FLAG_HT)) | ||
765 | status->rate_idx -= 5; | ||
766 | } else { | ||
767 | status->band = IEEE80211_BAND_2GHZ; | ||
768 | } | ||
763 | status->freq = ieee80211_channel_to_frequency(rxd->channel); | 769 | status->freq = ieee80211_channel_to_frequency(rxd->channel); |
764 | 770 | ||
765 | *qos = rxd->qos_control; | 771 | *qos = rxd->qos_control; |
@@ -850,7 +856,13 @@ mwl8k_rxd_sta_process(void *_rxd, struct ieee80211_rx_status *status, | |||
850 | if (rate_info & MWL8K_STA_RATE_INFO_MCS_FORMAT) | 856 | if (rate_info & MWL8K_STA_RATE_INFO_MCS_FORMAT) |
851 | status->flag |= RX_FLAG_HT; | 857 | status->flag |= RX_FLAG_HT; |
852 | 858 | ||
853 | status->band = IEEE80211_BAND_2GHZ; | 859 | if (rxd->channel > 14) { |
860 | status->band = IEEE80211_BAND_5GHZ; | ||
861 | if (!(status->flag & RX_FLAG_HT)) | ||
862 | status->rate_idx -= 5; | ||
863 | } else { | ||
864 | status->band = IEEE80211_BAND_2GHZ; | ||
865 | } | ||
854 | status->freq = ieee80211_channel_to_frequency(rxd->channel); | 866 | status->freq = ieee80211_channel_to_frequency(rxd->channel); |
855 | 867 | ||
856 | *qos = rxd->qos_control; | 868 | *qos = rxd->qos_control; |