From acb7b631f32248190c9b28d706536977a32bc72f Mon Sep 17 00:00:00 2001 From: juhosg Date: Sun, 25 Jan 2009 13:33:34 +0000 Subject: [package] mac80211: update compat-wireless to 2009-01-24 (patch by Hauke Mehrtens ) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14172 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../301-rt2x00-Implement-support-for-802.11n.patch | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'package/mac80211/patches/301-rt2x00-Implement-support-for-802.11n.patch') diff --git a/package/mac80211/patches/301-rt2x00-Implement-support-for-802.11n.patch b/package/mac80211/patches/301-rt2x00-Implement-support-for-802.11n.patch index a21884688..c3c07a09c 100644 --- a/package/mac80211/patches/301-rt2x00-Implement-support-for-802.11n.patch +++ b/package/mac80211/patches/301-rt2x00-Implement-support-for-802.11n.patch @@ -1,6 +1,6 @@ -From 42d5399c2743dbd1ddaaadc8cb04adbfc65cc970 Mon Sep 17 00:00:00 2001 +From adf33d3a207846709e2a5fb006f17dbc9225f7a9 Mon Sep 17 00:00:00 2001 From: Ivo van Doorn -Date: Sat, 10 Jan 2009 11:01:10 +0100 +Date: Fri, 23 Jan 2009 17:10:06 +0100 Subject: [PATCH] rt2x00: Implement support for 802.11n Extend rt2x00lib capabilities to support 802.11n, @@ -58,7 +58,7 @@ Signed-off-by: Ivo van Doorn }; /* -@@ -604,6 +608,7 @@ enum rt2x00_flags { +@@ -603,6 +607,7 @@ enum rt2x00_flags { CONFIG_EXTERNAL_LNA_BG, CONFIG_DOUBLE_ANTENNA, CONFIG_DISABLE_LINK_TUNING, @@ -295,7 +295,7 @@ Signed-off-by: Ivo van Doorn +++ b/drivers/net/wireless/rt2x00/rt2x00ht.c @@ -0,0 +1,69 @@ +/* -+ Copyright (C) 2004 - 2008 rt2x00 SourceForge Project ++ Copyright (C) 2004 - 2009 rt2x00 SourceForge Project + + + This program is free software; you can redistribute it and/or modify @@ -327,10 +327,10 @@ Signed-off-by: Ivo van Doorn + +void rt2x00ht_create_tx_descriptor(struct queue_entry *entry, + struct txentry_desc *txdesc, -+ struct ieee80211_rate *rate) ++ const struct rt2x00_rate *hwrate) +{ + struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb); -+ const struct rt2x00_rate *hwrate = rt2x00_get_rate(rate->hw_value); ++ struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0]; + + if (tx_info->control.sta) + txdesc->mpdu_density = @@ -342,7 +342,7 @@ Signed-off-by: Ivo van Doorn + txdesc->stbc = 0; /* FIXME: What value is needed? */ + + txdesc->mcs = rt2x00_get_rate_mcs(hwrate->mcs); -+ if (rate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE) ++ if (txrate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE) + txdesc->mcs |= 0x08; + + /* @@ -354,13 +354,13 @@ Signed-off-by: Ivo van Doorn + /* + * Determine HT Mix/Greenfield rate mode + */ -+ if (tx_info->control.rates[0].flags & IEEE80211_TX_RC_MCS) ++ if (txrate->flags & IEEE80211_TX_RC_MCS) + txdesc->rate_mode = RATE_MODE_HT_MIX; -+ if (tx_info->control.rates[0].flags & IEEE80211_TX_RC_GREEN_FIELD) ++ if (txrate->flags & IEEE80211_TX_RC_GREEN_FIELD) + txdesc->rate_mode = RATE_MODE_HT_GREENFIELD; -+ if (tx_info->control.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH) ++ if (txrate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH) + __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags); -+ if (tx_info->control.rates[0].flags & IEEE80211_TX_RC_SHORT_GI) ++ if (txrate->flags & IEEE80211_TX_RC_SHORT_GI) + __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags); +} --- a/drivers/net/wireless/rt2x00/rt2x00lib.h @@ -397,11 +397,11 @@ Signed-off-by: Ivo van Doorn +#ifdef CONFIG_RT2X00_LIB_HT +void rt2x00ht_create_tx_descriptor(struct queue_entry *entry, + struct txentry_desc *txdesc, -+ struct ieee80211_rate *rate); ++ const struct rt2x00_rate *hwrate); +#else +static inline void rt2x00ht_create_tx_descriptor(struct queue_entry *entry, + struct txentry_desc *txdesc, -+ struct ieee80211_rate *rate) ++ const struct rt2x00_rate *hwrate) +{ +} +#endif /* CONFIG_RT2X00_LIB_HT */ @@ -416,7 +416,7 @@ Signed-off-by: Ivo van Doorn * Apply TX descriptor handling by components */ rt2x00crypto_create_tx_descriptor(entry, txdesc); -+ rt2x00ht_create_tx_descriptor(entry, txdesc, rate); ++ rt2x00ht_create_tx_descriptor(entry, txdesc, hwrate); rt2x00queue_create_tx_descriptor_seq(entry, txdesc); rt2x00queue_create_tx_descriptor_plcp(entry, txdesc, hwrate); } -- cgit v1.2.3