libertas: remove dump_survey implementation
authorDaniel Drake <dsd@laptop.org>
Wed, 14 Mar 2012 22:34:33 +0000 (22:34 +0000)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 15 Mar 2012 17:46:50 +0000 (13:46 -0400)
libertas provides a dump_survey implementation based on reading of
a RSSI value. However, this RSSI value is calculated based on the
last received beacon from the associated AP - it is not a good
way of surveying a channel in general, and even causes an error
if the card is not associated to a network.

As this is not appropriate as a survey, remove it. This fixes an
issue where something in userspace is repeatedly calling site-survey
during boot, resulting in many repeated errors as the RSSI value cannot
be read before associating.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/cfg.c

index a7cd311cb1b74fe3bacd5e73b41b882d38752b54..3fa1ecebadfd33e3d15e63e1f79de46d851a7ab3 100644 (file)
@@ -1630,42 +1630,6 @@ static int lbs_cfg_get_station(struct wiphy *wiphy, struct net_device *dev,
 
 
 
-/*
- * "Site survey", here just current channel and noise level
- */
-
-static int lbs_get_survey(struct wiphy *wiphy, struct net_device *dev,
-       int idx, struct survey_info *survey)
-{
-       struct lbs_private *priv = wiphy_priv(wiphy);
-       s8 signal, noise;
-       int ret;
-
-       if (dev == priv->mesh_dev)
-               return -EOPNOTSUPP;
-
-       if (idx != 0)
-               ret = -ENOENT;
-
-       lbs_deb_enter(LBS_DEB_CFG80211);
-
-       survey->channel = ieee80211_get_channel(wiphy,
-               ieee80211_channel_to_frequency(priv->channel,
-                                              IEEE80211_BAND_2GHZ));
-
-       ret = lbs_get_rssi(priv, &signal, &noise);
-       if (ret == 0) {
-               survey->filled = SURVEY_INFO_NOISE_DBM;
-               survey->noise = noise;
-       }
-
-       lbs_deb_leave_args(LBS_DEB_CFG80211, "ret %d", ret);
-       return ret;
-}
-
-
-
-
 /*
  * Change interface
  */
@@ -2068,7 +2032,6 @@ static struct cfg80211_ops lbs_cfg80211_ops = {
        .del_key = lbs_cfg_del_key,
        .set_default_key = lbs_cfg_set_default_key,
        .get_station = lbs_cfg_get_station,
-       .dump_survey = lbs_get_survey,
        .change_virtual_intf = lbs_change_intf,
        .join_ibss = lbs_join_ibss,
        .leave_ibss = lbs_leave_ibss,