On Wednesday 28 July 2010 20:48:44 John W. Linville wrote: > Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> > --- > drivers/net/wireless/ath/ar9170/main.c | 17 +++++++++++++++++ > 1 files changed, 17 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/wireless/ath/ar9170/main.c b/drivers/net/wireless/ath/ar9170/main.c > index 5e2c514..e089d9f 100644 > --- a/drivers/net/wireless/ath/ar9170/main.c > +++ b/drivers/net/wireless/ath/ar9170/main.c > @@ -1905,6 +1905,22 @@ static int ar9170_get_stats(struct ieee80211_hw *hw, > return 0; > } > > +static int ar9170_get_survey(struct ieee80211_hw *hw, int idx, > + struct survey_info *survey) > +{ > + struct ar9170 *ar = hw->priv; > + struct ieee80211_conf *conf = &hw->conf; > + > + if (idx != 0) > + return -ENOENT; > + > + survey->channel = conf->channel; > + survey->filled = SURVEY_INFO_NOISE_DBM; > + survey->noise = ar->noise[0]; > + > + return 0; > +} > + > static int ar9170_conf_tx(struct ieee80211_hw *hw, u16 queue, > const struct ieee80211_tx_queue_params *param) > { > @@ -1957,6 +1973,7 @@ static const struct ieee80211_ops ar9170_ops = { > .get_tsf = ar9170_op_get_tsf, > .set_key = ar9170_set_key, > .get_stats = ar9170_get_stats, > + .get_survey = ar9170_get_survey, > .ampdu_action = ar9170_ampdu_action, > }; One problem: the noisefloor stays at the same level and is not updated. You would have to call ar9170_set_channel, but I don't recommend that because that may lockup the device :(. Regards, Chr -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html