Skip to content

Commit

Permalink
mwifiex: add change_beacon cfg80211 handler
Browse files Browse the repository at this point in the history
This patch adds support for change_beacon handler which is needed
for setting modified management IEs to driver and FW.

Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Avinash Patil authored and John W. Linville committed Jul 9, 2012
1 parent bd6aa03 commit 5370c83
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions drivers/net/wireless/mwifiex/cfg80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -914,6 +914,33 @@ static int mwifiex_cfg80211_set_cqm_rssi_config(struct wiphy *wiphy,
return 0;
}

/* cfg80211 operation handler for change_beacon.
* Function retrieves and sets modified management IEs to FW.
*/
static int mwifiex_cfg80211_change_beacon(struct wiphy *wiphy,
struct net_device *dev,
struct cfg80211_beacon_data *data)
{
struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);

if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
wiphy_err(wiphy, "%s: bss_type mismatched\n", __func__);
return -EINVAL;
}

if (!priv->bss_started) {
wiphy_err(wiphy, "%s: bss not started\n", __func__);
return -EINVAL;
}

if (mwifiex_set_mgmt_ies(priv, data)) {
wiphy_err(wiphy, "%s: setting mgmt ies failed\n", __func__);
return -EFAULT;
}

return 0;
}

/* cfg80211 operation handler for stop ap.
* Function stops BSS running at uAP interface.
*/
Expand Down Expand Up @@ -1697,6 +1724,7 @@ static struct cfg80211_ops mwifiex_cfg80211_ops = {
.set_bitrate_mask = mwifiex_cfg80211_set_bitrate_mask,
.start_ap = mwifiex_cfg80211_start_ap,
.stop_ap = mwifiex_cfg80211_stop_ap,
.change_beacon = mwifiex_cfg80211_change_beacon,
.set_cqm_rssi_config = mwifiex_cfg80211_set_cqm_rssi_config,
};

Expand Down

0 comments on commit 5370c83

Please sign in to comment.