Message ID | 1294765194-30542-1-git-send-email-walle@corscience.de |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On 2011-01-11 9:59 AM, Bernhard Walle wrote: > While the driver reports > > ath: TX streams 2, RX streams: 2 > > in the kernel log (with ATH_DBG_CONFIG set in the debug module > parameter), "iw list" only reported > > [...] > Capabilities: 0x12ce > HT20/HT40 > SM Power Save disabled > RX HT40 SGI > TX STBC > RX STBC 1-streams > [...] > > The driver seems to set the value as flag while the iw tool interprets > it as number. This patch fixes that. > > Signed-off-by: Bernhard Walle<walle@corscience.de> > --- > drivers/net/wireless/ath/ath9k/init.c | 12 ++++++------ > 1 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c > index 639dc93..935b6c3 100644 > --- a/drivers/net/wireless/ath/ath9k/init.c > +++ b/drivers/net/wireless/ath/ath9k/init.c > @@ -215,17 +215,17 @@ static void setup_ht_cap(struct ath_softc *sc, > else > max_streams = 2; > > - if (AR_SREV_9280_20_OR_LATER(ah)) { > - if (max_streams>= 2) > - ht_info->cap |= IEEE80211_HT_CAP_TX_STBC; > - ht_info->cap |= (1<< IEEE80211_HT_CAP_RX_STBC_SHIFT); > - } > - > /* set up supported mcs set */ > memset(&ht_info->mcs, 0, sizeof(ht_info->mcs)); > tx_streams = ath9k_cmn_count_streams(common->tx_chainmask, max_streams); > rx_streams = ath9k_cmn_count_streams(common->rx_chainmask, max_streams); > > + if (AR_SREV_9280_20_OR_LATER(ah)) { > + if (max_streams>= 2) > + ht_info->cap |= IEEE80211_HT_CAP_TX_STBC; > + ht_info->cap |= (rx_streams<< IEEE80211_HT_CAP_RX_STBC_SHIFT); > + } > + Are you sure the card can actually receive multiple streams via STBC? As far as I know, only one stream can be received properly via STBC, more streams have to be sent without it. - Felix -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jan 11, 2011 at 10:29:54PM +0530, Bernhard Walle wrote: > While the driver reports > > ath: TX streams 2, RX streams: 2 > > in the kernel log (with ATH_DBG_CONFIG set in the debug module > parameter), "iw list" only reported > > [...] > Capabilities: 0x12ce > HT20/HT40 > SM Power Save disabled > RX HT40 SGI > TX STBC > RX STBC 1-streams > [...] > > The driver seems to set the value as flag while the iw tool interprets > it as number. This patch fixes that. Nope. hw supports STBC for one Spatial stream only. Vasanth -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c index 639dc93..935b6c3 100644 --- a/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c @@ -215,17 +215,17 @@ static void setup_ht_cap(struct ath_softc *sc, else max_streams = 2; - if (AR_SREV_9280_20_OR_LATER(ah)) { - if (max_streams >= 2) - ht_info->cap |= IEEE80211_HT_CAP_TX_STBC; - ht_info->cap |= (1 << IEEE80211_HT_CAP_RX_STBC_SHIFT); - } - /* set up supported mcs set */ memset(&ht_info->mcs, 0, sizeof(ht_info->mcs)); tx_streams = ath9k_cmn_count_streams(common->tx_chainmask, max_streams); rx_streams = ath9k_cmn_count_streams(common->rx_chainmask, max_streams); + if (AR_SREV_9280_20_OR_LATER(ah)) { + if (max_streams >= 2) + ht_info->cap |= IEEE80211_HT_CAP_TX_STBC; + ht_info->cap |= (rx_streams << IEEE80211_HT_CAP_RX_STBC_SHIFT); + } + ath_print(common, ATH_DBG_CONFIG, "TX streams %d, RX streams: %d\n", tx_streams, rx_streams);
While the driver reports ath: TX streams 2, RX streams: 2 in the kernel log (with ATH_DBG_CONFIG set in the debug module parameter), "iw list" only reported [...] Capabilities: 0x12ce HT20/HT40 SM Power Save disabled RX HT40 SGI TX STBC RX STBC 1-streams [...] The driver seems to set the value as flag while the iw tool interprets it as number. This patch fixes that. Signed-off-by: Bernhard Walle <walle@corscience.de> --- drivers/net/wireless/ath/ath9k/init.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)