diff options
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r-- | net/mac80211/cfg.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 3df12f7d0cfe..0c544074479e 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -1628,6 +1628,23 @@ static void ieee80211_mgmt_frame_register(struct wiphy *wiphy, | |||
1628 | ieee80211_queue_work(&local->hw, &local->reconfig_filter); | 1628 | ieee80211_queue_work(&local->hw, &local->reconfig_filter); |
1629 | } | 1629 | } |
1630 | 1630 | ||
1631 | static int ieee80211_set_antenna(struct wiphy *wiphy, u32 tx_ant, u32 rx_ant) | ||
1632 | { | ||
1633 | struct ieee80211_local *local = wiphy_priv(wiphy); | ||
1634 | |||
1635 | if (local->started) | ||
1636 | return -EOPNOTSUPP; | ||
1637 | |||
1638 | return drv_set_antenna(local, tx_ant, rx_ant); | ||
1639 | } | ||
1640 | |||
1641 | static int ieee80211_get_antenna(struct wiphy *wiphy, u32 *tx_ant, u32 *rx_ant) | ||
1642 | { | ||
1643 | struct ieee80211_local *local = wiphy_priv(wiphy); | ||
1644 | |||
1645 | return drv_get_antenna(local, tx_ant, rx_ant); | ||
1646 | } | ||
1647 | |||
1631 | struct cfg80211_ops mac80211_config_ops = { | 1648 | struct cfg80211_ops mac80211_config_ops = { |
1632 | .add_virtual_intf = ieee80211_add_iface, | 1649 | .add_virtual_intf = ieee80211_add_iface, |
1633 | .del_virtual_intf = ieee80211_del_iface, | 1650 | .del_virtual_intf = ieee80211_del_iface, |
@@ -1680,4 +1697,6 @@ struct cfg80211_ops mac80211_config_ops = { | |||
1680 | .mgmt_tx = ieee80211_mgmt_tx, | 1697 | .mgmt_tx = ieee80211_mgmt_tx, |
1681 | .set_cqm_rssi_config = ieee80211_set_cqm_rssi_config, | 1698 | .set_cqm_rssi_config = ieee80211_set_cqm_rssi_config, |
1682 | .mgmt_frame_register = ieee80211_mgmt_frame_register, | 1699 | .mgmt_frame_register = ieee80211_mgmt_frame_register, |
1700 | .set_antenna = ieee80211_set_antenna, | ||
1701 | .get_antenna = ieee80211_get_antenna, | ||
1683 | }; | 1702 | }; |