aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/marvell/mwifiex/init.c
diff options
context:
space:
mode:
authorShengzhen Li <szli@marvell.com>2016-06-06 13:02:38 -0400
committerKalle Valo <kvalo@codeaurora.org>2016-07-05 16:29:24 +0300
commit3ee712857958c27f697b33fa520fdc51e7ffea88 (patch)
tree370ef4b0fe203caa471dd9fd65ec7adbcecf169c /drivers/net/wireless/marvell/mwifiex/init.c
parentmwifiex: add a cfg80211 .get_tx_power operation callback (diff)
downloadlinux-dev-3ee712857958c27f697b33fa520fdc51e7ffea88.tar.xz
linux-dev-3ee712857958c27f697b33fa520fdc51e7ffea88.zip
mwifiex: add get_antenna support for cfg80211
Since commit de3bb771f471 ("cfg80211: add more warnings for inconsistent ops") the wireless core warns if a driver implements a cfg80211 callback but doesn't implements the inverse operation. The mwifiex driver defines a .set_antenna handler but not a .get_antenna so this not only makes the core to print a warning when creating a new wiphy but also the antenna isn't reported to user-space apps such as iw. This patch queries the antenna to the firmware so is properly reported to user-space. With this patch, the wireless core does not warn anymore and: $ iw phy phy0 info | grep Antennas Available Antennas: TX 0x3 RX 0x3 Configured Antennas: TX 0x3 RX 0x3 Signed-off-by: Shengzhen Li <szli@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> [javier: expand the commit message] Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/marvell/mwifiex/init.c')
-rw-r--r--drivers/net/wireless/marvell/mwifiex/init.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c
index 07eac5b195f0..1489c90192bd 100644
--- a/drivers/net/wireless/marvell/mwifiex/init.c
+++ b/drivers/net/wireless/marvell/mwifiex/init.c
@@ -110,6 +110,8 @@ int mwifiex_init_priv(struct mwifiex_private *priv)
priv->tx_power_level = 0;
priv->max_tx_power_level = 0;
priv->min_tx_power_level = 0;
+ priv->tx_ant = 0;
+ priv->rx_ant = 0;
priv->tx_rate = 0;
priv->rxpd_htinfo = 0;
priv->rxpd_rate = 0;