]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: fix HT capability overrides for AP station
authorJohannes Berg <johannes.berg@intel.com>
Fri, 1 Mar 2013 10:54:43 +0000 (11:54 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 6 Mar 2013 15:36:02 +0000 (16:36 +0100)
commit60f552c4504acd77a220f1586123c9cea2c75016
tree5c6b79b0fd7b357804ffdabdc000e97f62435e0d
parent088ce4bf9c437fdf1c1fccf1d2789f0f8339df51
mac80211: fix HT capability overrides for AP station

HT capabilites are asymmetric -- e.g. beamforming is both an
RX and TX capability. If, for example, we support RX but not
TX, the RX capability of the AP station is masked out (if it
supports it). This works correctly if it's really the driver
capability.

If, on the other hand, the reason for not supporting TX BF
is that it was removed by HT capability overrides then the
wrong thing happens: the AP's TX capability will be removed
rather than its RX capability, because the override function
works on own capabilities, not remote ones, and doesn't take
the asymmetry into account.

To fix this make a copy of our own capabilities, apply the
overrides to them (where needed) and then use that to set up
the peer's capabilities.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ht.c