Re: [PATCH] Add .set_antenna callback in ath6kl driver to fix wireless core warns

From: Valo, Kalle
Date: Thu Jun 09 2016 - 03:09:05 EST


Prasun Maiti <prasunmaiti87@xxxxxxxxx> writes:

> Since add more warnings for inconsistent ops in cfg80211, the wireless
> core warns if a driver implements a cfg80211 callback but doesn't
> implements the inverse operation. The ath6kl driver implements a cfg80211
> .get_antenna operation handler but doesn't have the inverse .set_antenna
> callback. So, it makes warning.
>
> To remove this warning, add .set_antenna callback in ath6kl driver which
> is unimplemented.
>
> Signed-off-by: Prasun Maiti <prasunmaiti87@xxxxxxxxx>

[...]

> --- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
> +++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
> @@ -3231,6 +3231,16 @@ static int ath6kl_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
> wait, buf, len, no_cck);
> }
>
> +static int ath6kl_set_antenna(struct wiphy *wiphy,
> + u32 tx_ant, u32 rx_ant)
> +{
> + /*
> + * Note: This callback should be implement when firmware support this
> + * command.
> + */
> + return 0;
> +}
> +
> static int ath6kl_get_antenna(struct wiphy *wiphy,
> u32 *tx_ant, u32 *rx_ant)
> {
> @@ -3456,6 +3466,7 @@ static struct cfg80211_ops ath6kl_cfg80211_ops = {
> .cancel_remain_on_channel = ath6kl_cancel_remain_on_channel,
> .mgmt_tx = ath6kl_mgmt_tx,
> .mgmt_frame_register = ath6kl_mgmt_frame_register,
> + .set_antenna = ath6kl_set_antenna,

Now we are claiming that ath6kl supports set antenna command but it
actually doesn't do anything, I don't like that. I would rather look at
why cfg80211 issues the warning and is it really necessary.

--
Kalle Valo