Search Linux Wireless

Re: [PATCH] ath9k: Fix rate table choice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Luis R. Rodriguez a écrit :
On Thu, Feb 4, 2010 at 1:06 PM, Benoit Papillault
<benoit.papillault@xxxxxxx> wrote:
ath9k rate control choose the rate table based on the current channel
(if it is ht40 or not). However, it happens that at this stage, the
channel is still ht20 even if the peer sta capabilities would later
allow ht40. So let's use peer sta capabilities directly.

Can you clarify this commit log entry a little more, I don't think I
get it yet. Also, is this a stable fix? If so, please Cc:
stable@xxxxxxxxxx on the commit log entry.

  Luis
I think it could be Cc:stable@xxxxxxxxxx, but I'll leave the decision up to you.

In fact, I was using ath9k as a STA connected to an HT40 AP. However, only HT20 was displayed in ath9k/phy0/rcstat. After digging for a while, i found that the current channel (sc->hw->conf.channel_type) was indeed an HT20 (or no-ht) channel!

In fact, association is handled as a queued work (from what I understood). As such, it uses tmp_channel (see mac80211/work.c). In the enable_ht() [mac80211/mlme.c], we update oper_channel_type before calling ieee80211_hw_config to call the hw_config driver callback that upates conf.channel_type. However, since we are using queued work, ieee80211_hw_config will use tmp_channel instead. Then enable_ht calls rate_control_rate_update that calls ath9k rate control callbacks ... where the channel is ... not HT40! I guess that when the queued work is done, the channel is switched again to ht40.

I would appreciate Johannes point of view here...

After applying this patch, ath9k/phy0/rcstat shows both ht20 and ht40 rates.

Regards,
Benoit

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux