cfg80211: Pass station (extended) capability info to kernel

The information of the peer's capabilities and extended capabilities are
required for the driver to perform TDLS Peer UAPSD operations and off
channel operations. This information of the peer is passed from user space
using NL80211_CMD_SET_STATION command. This commit enhances
the function nl80211_set_station to pass the capability information of
the peer to the driver.

Similarly, there may be need for capability information for other modes,
so allow this to be provided with both add_station and change_station.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 9d62a98617298c1da288f50e84c5dd67732e79b7
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I18b19ccdfdd2a6daca4fd5f878f9a8df2598a1e9
CRs-fixed: 452921
[duttus@codeaurora.org: backport to 3.4-This commit includes the
changes from following commits in include/linux/nl80211.h to compile
for msm-3.4.
ed47377154310fd2fd59d75fcdeb3d022344fb31 :
{nl,cfg}80211: add a flags word to scan requests.
3d9d1d6656a73ea8407734cfb00b81d14ef62d4b :
nl80211/cfg80211: support VHT channel configuration.
53cabad70ecf0c245b41285de64a74a6c3ee9933 :
nl80211: support P2P GO powersave configuration.
3b1c5a5307fb5277f395efdcf330c064d79df07d :
{cfg,nl}80211: mesh power mode primitives and userspace access.
77765eaf5cfb6b8dd98ec8b54b411d74ff6095f1 :
cfg80211/nl80211: add API for MAC address ACLs.
04f39047af2a6df64b763ea5a271db24879d0391 :
nl80211/cfg80211: add radar detection command/event.
a50df0c4c0d97170a6c43573612acacc43e62fe7 :
cfg80211: advertise extended capabilities to userspace.]
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>
3 files changed