diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-04-23 10:13:26 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-05-06 15:14:36 -0400 |
commit | 2d0ddec5b2b859f06116f631fc0ffe94fbceb556 (patch) | |
tree | 9bf3cdfcbbefcb34f5984e6d797f488ebe358196 /drivers/net/wireless/adm8211.c | |
parent | 57c4d7b4c4986037be51476b8e3025d5ba18d8b8 (diff) |
mac80211: unify config_interface and bss_info_changed
The config_interface method is a little strange, it contains the
BSSID and beacon updates, while bss_info_changed contains most
other BSS information for each interface. This patch removes
config_interface and rolls all the information it previously
passed to drivers into bss_info_changed.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/adm8211.c')
-rw-r--r-- | drivers/net/wireless/adm8211.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/wireless/adm8211.c b/drivers/net/wireless/adm8211.c index f71821795018..2b9e379994a1 100644 --- a/drivers/net/wireless/adm8211.c +++ b/drivers/net/wireless/adm8211.c | |||
@@ -1311,18 +1311,20 @@ static int adm8211_config(struct ieee80211_hw *dev, u32 changed) | |||
1311 | return 0; | 1311 | return 0; |
1312 | } | 1312 | } |
1313 | 1313 | ||
1314 | static int adm8211_config_interface(struct ieee80211_hw *dev, | 1314 | static void adm8211_bss_info_changed(struct ieee80211_hw *dev, |
1315 | struct ieee80211_vif *vif, | 1315 | struct ieee80211_vif *vif, |
1316 | struct ieee80211_if_conf *conf) | 1316 | struct ieee80211_bss_conf *conf, |
1317 | u32 changes) | ||
1317 | { | 1318 | { |
1318 | struct adm8211_priv *priv = dev->priv; | 1319 | struct adm8211_priv *priv = dev->priv; |
1319 | 1320 | ||
1321 | if (!(changes & BSS_CHANGED_BSSID)) | ||
1322 | return; | ||
1323 | |||
1320 | if (memcmp(conf->bssid, priv->bssid, ETH_ALEN)) { | 1324 | if (memcmp(conf->bssid, priv->bssid, ETH_ALEN)) { |
1321 | adm8211_set_bssid(dev, conf->bssid); | 1325 | adm8211_set_bssid(dev, conf->bssid); |
1322 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); | 1326 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); |
1323 | } | 1327 | } |
1324 | |||
1325 | return 0; | ||
1326 | } | 1328 | } |
1327 | 1329 | ||
1328 | static void adm8211_configure_filter(struct ieee80211_hw *dev, | 1330 | static void adm8211_configure_filter(struct ieee80211_hw *dev, |
@@ -1753,7 +1755,7 @@ static const struct ieee80211_ops adm8211_ops = { | |||
1753 | .add_interface = adm8211_add_interface, | 1755 | .add_interface = adm8211_add_interface, |
1754 | .remove_interface = adm8211_remove_interface, | 1756 | .remove_interface = adm8211_remove_interface, |
1755 | .config = adm8211_config, | 1757 | .config = adm8211_config, |
1756 | .config_interface = adm8211_config_interface, | 1758 | .bss_info_changed = adm8211_bss_info_changed, |
1757 | .configure_filter = adm8211_configure_filter, | 1759 | .configure_filter = adm8211_configure_filter, |
1758 | .get_stats = adm8211_get_stats, | 1760 | .get_stats = adm8211_get_stats, |
1759 | .get_tx_stats = adm8211_get_tx_stats, | 1761 | .get_tx_stats = adm8211_get_tx_stats, |