mac80211: merge a big batch of upstream changes/improvements

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37918 3c298f89-4303-0410-b956-a3cf2f4a3e73
ath9k: clean up some patches

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37919 3c298f89-4303-0410-b956-a3cf2f4a3e73