aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/cfg80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/cfg80211.c')
-rw-r--r--drivers/net/wireless/ath/ath6kl/cfg80211.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c
index 6745bf203ec5..5c98de36d163 100644
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
@@ -1687,6 +1687,29 @@ static int ath6kl_cancel_remain_on_channel(struct wiphy *wiphy,
1687 return ath6kl_wmi_cancel_remain_on_chnl_cmd(ar->wmi); 1687 return ath6kl_wmi_cancel_remain_on_chnl_cmd(ar->wmi);
1688} 1688}
1689 1689
1690static int ath6kl_mgmt_tx(struct wiphy *wiphy, struct net_device *dev,
1691 struct ieee80211_channel *chan, bool offchan,
1692 enum nl80211_channel_type channel_type,
1693 bool channel_type_valid, unsigned int wait,
1694 const u8 *buf, size_t len, u64 *cookie)
1695{
1696 struct ath6kl *ar = ath6kl_priv(dev);
1697 u32 id;
1698
1699 id = ar->send_action_id++;
1700 if (id == 0) {
1701 /*
1702 * 0 is a reserved value in the WMI command and shall not be
1703 * used for the command.
1704 */
1705 id = ar->send_action_id++;
1706 }
1707
1708 *cookie = id;
1709 return ath6kl_wmi_send_action_cmd(ar->wmi, id, chan->center_freq, wait,
1710 buf, len);
1711}
1712
1690static struct cfg80211_ops ath6kl_cfg80211_ops = { 1713static struct cfg80211_ops ath6kl_cfg80211_ops = {
1691 .change_virtual_intf = ath6kl_cfg80211_change_iface, 1714 .change_virtual_intf = ath6kl_cfg80211_change_iface,
1692 .scan = ath6kl_cfg80211_scan, 1715 .scan = ath6kl_cfg80211_scan,
@@ -1716,6 +1739,7 @@ static struct cfg80211_ops ath6kl_cfg80211_ops = {
1716 .change_station = ath6kl_change_station, 1739 .change_station = ath6kl_change_station,
1717 .remain_on_channel = ath6kl_remain_on_channel, 1740 .remain_on_channel = ath6kl_remain_on_channel,
1718 .cancel_remain_on_channel = ath6kl_cancel_remain_on_channel, 1741 .cancel_remain_on_channel = ath6kl_cancel_remain_on_channel,
1742 .mgmt_tx = ath6kl_mgmt_tx,
1719}; 1743};
1720 1744
1721struct wireless_dev *ath6kl_cfg80211_init(struct device *dev) 1745struct wireless_dev *ath6kl_cfg80211_init(struct device *dev)