summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/wil6210/cfg80211.c
diff options
context:
space:
mode:
authorVladimir Kondratiev2015-03-15 15:00:23 +0100
committerKalle Valo2015-03-20 07:33:23 +0100
commit41d6b093b7f8f2755a0a64ad4277c01bf78ced3e (patch)
tree3fa9b570c909db7ae9e4c8709d8aca7aee12d769 /drivers/net/wireless/ath/wil6210/cfg80211.c
parentwil6210: add bcast structures to WMI (diff)
downloadkernel-qcow2-linux-41d6b093b7f8f2755a0a64ad4277c01bf78ced3e.tar.gz
kernel-qcow2-linux-41d6b093b7f8f2755a0a64ad4277c01bf78ced3e.tar.xz
kernel-qcow2-linux-41d6b093b7f8f2755a0a64ad4277c01bf78ced3e.zip
wil6210: implement broadcast/multicast data
Use dedicated vring for multicast frames; this vring allocated for AP and PBSS (both P2P GO and client) configurations For short frames, use MCS0; for long - MCS1 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/cfg80211.c')
-rw-r--r--drivers/net/wireless/ath/wil6210/cfg80211.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c
index c9f362c68c17..8f7596f60263 100644
--- a/drivers/net/wireless/ath/wil6210/cfg80211.c
+++ b/drivers/net/wireless/ath/wil6210/cfg80211.c
@@ -783,8 +783,17 @@ static int wil_cfg80211_start_ap(struct wiphy *wiphy,
rc = wmi_pcp_start(wil, info->beacon_interval, wmi_nettype,
channel->hw_value);
if (rc)
- netif_carrier_off(ndev);
+ goto err_pcp_start;
+ rc = wil_bcast_init(wil);
+ if (rc)
+ goto err_bcast;
+
+ goto out; /* success */
+err_bcast:
+ wmi_pcp_stop(wil);
+err_pcp_start:
+ netif_carrier_off(ndev);
out:
mutex_unlock(&wil->mutex);
return rc;