wil6210: add support for adding and removing virtual interfaces
authorLior David <liord@codeaurora.org>
Mon, 26 Feb 2018 18:12:14 +0000 (20:12 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 27 Feb 2018 16:50:26 +0000 (18:50 +0200)
commit4aebd3bdbd8a26ebcd2398289e2379472d17825f
treea6558e4cbca2ed12b8a21718e56ddbbab2a4478e
parente00243fab84b4efd5a250d1c47a4ddcca4c666ce
wil6210: add support for adding and removing virtual interfaces

Add generic support in cfg80211 operations add_virtual_intf
and del_virtual_intf for adding/removing VIFs of any
interface type, and fix change_virtual_intf to allow changing
the interface type of a VIF. Previously these operations
only worked for the P2P_DEVICE interface which is not a real
VIF(it is management-only and shares radio with the main
interface).
Currently the interface combination is validated, the VIF is
added/removed in the firmware and the appropriate net/wireless
device is also added/removed.
Added minimal support for proper interface up/down and module
unload but most operations still work only on the main interface.

Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/cfg80211.c
drivers/net/wireless/ath/wil6210/main.c
drivers/net/wireless/ath/wil6210/netdev.c
drivers/net/wireless/ath/wil6210/pcie_bus.c
drivers/net/wireless/ath/wil6210/wil6210.h
drivers/net/wireless/ath/wil6210/wmi.c