From 4191e2d56458cdc9a31de68c8a8ff55a04242f9c Mon Sep 17 00:00:00 2001 From: Arend van Spriel Date: Thu, 10 Feb 2011 12:03:47 +0100 Subject: [PATCH] staging: brcm80211: cleanup mac80211 callback bss_info_changed The implementation for bss_info_changed was not handling all changes as provided by mac80211 module. These have been added and will log message with changed parameters. Reviewed-by: Roland Vossen Reviewed-by: Brett Rudley Reviewed-by: Henry Ptasinski Signed-off-by: Arend van Spriel Signed-off-by: Greg Kroah-Hartman --- .../staging/brcm80211/brcmsmac/wl_mac80211.c | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c index d04277bf30a2..e485280c9c5d 100644 --- a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c +++ b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c @@ -365,12 +365,12 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw, } if (changed & BSS_CHANGED_BEACON_INT) { /* Beacon interval changed */ - WL_NONE("%s: Beacon Interval: %d\n", + WL_NONE("%s: Beacon Interval: %d (implement)\n", __func__, info->beacon_int); } if (changed & BSS_CHANGED_BSSID) { /* BSSID changed, for whatever reason (IBSS and managed mode) */ - WL_NONE("new BSSID:\taid %d bss:%pM\n", + WL_NONE("%s: new BSSID: aid %d bss:%pM\n", __func__, info->aid, info->bssid); /* FIXME: need to store bssid in bsscfg */ wlc_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET, @@ -378,13 +378,42 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw, } if (changed & BSS_CHANGED_BEACON) { /* Beacon data changed, retrieve new beacon (beaconing modes) */ - WL_ERROR("BSS_CHANGED_BEACON\n"); + WL_ERROR("%s: beacon changed\n", __func__); } if (changed & BSS_CHANGED_BEACON_ENABLED) { /* Beaconing should be enabled/disabled (beaconing modes) */ - WL_ERROR("Beacon enabled: %s\n", + WL_ERROR("%s: Beacon enabled: %s\n", __func__, info->enable_beacon ? "true" : "false"); } + if (changed & BSS_CHANGED_CQM) { + /* Connection quality monitor config changed */ + WL_ERROR("%s: cqm change: threshold %d, hys %d (implement)\n", + __func__, info->cqm_rssi_thold, info->cqm_rssi_hyst); + } + if (changed & BSS_CHANGED_IBSS) { + /* IBSS join status changed */ + WL_ERROR("%s: IBSS joined: %s (implement)\n", __func__, + info->ibss_joined ? "true" : "false"); + } + if (changed & BSS_CHANGED_ARP_FILTER) { + /* Hardware ARP filter address list or state changed */ + WL_ERROR("%s: arp filtering: enabled %s, count %d (implement)\n", + __func__, info->arp_filter_enabled ? "true" : "false", + info->arp_addr_cnt); + } + if (changed & BSS_CHANGED_QOS) { + /* + * QoS for this association was enabled/disabled. + * Note that it is only ever disabled for station mode. + */ + WL_ERROR("%s: qos enabled: %s (implement)\n", __func__, + info->qos ? "true" : "false"); + } + if (changed & BSS_CHANGED_IDLE) { + /* Idle changed for this BSS/interface */ + WL_ERROR("%s: BSS idle: %s (implement)\n", __func__, + info->idle ? "true" : "false"); + } return; } -- 2.20.1