| From: Rasmus Villemoes <linux@rasmusvillemoes.dk> |
| Date: Sun, 22 Jun 2014 20:50:40 +0200 |
| Subject: net/wireless/brcm80211/brcmfmac: Make return type and name reflect |
| actual semantics |
| |
| commit e843bb199ba58ce5d1364d4c82fcf6975f08eec2 upstream. |
| |
| Applying ++ to a bool is equivalent to setting it true, regardless of |
| its initial value (bools are not uint1_t). Hence the function |
| wl_get_vif_state_all can only ever return true/false. The only in-tree |
| caller uses its return value as a boolean. So update its return type, |
| and since the list traversal and bit testing have no side effects, |
| just return true immediately. Its return value tells if any vif is in |
| the specified state, so also rename it to brcmf_get_vif_state_any. |
| |
| Reviewed-by: Arend van Spriel<arend@broadcom.com> |
| Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/net/wireless/brcm80211/brcmfmac/p2p.c | 2 +- |
| drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 7 +++---- |
| drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h | 2 +- |
| 3 files changed, 5 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c |
| +++ b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c |
| @@ -706,7 +706,7 @@ static s32 brcmf_p2p_escan(struct brcmf_ |
| active = P2PAPI_SCAN_SOCIAL_DWELL_TIME_MS; |
| else if (num_chans == AF_PEER_SEARCH_CNT) |
| active = P2PAPI_SCAN_AF_SEARCH_DWELL_TIME_MS; |
| - else if (wl_get_vif_state_all(p2p->cfg, BRCMF_VIF_STATUS_CONNECTED)) |
| + else if (brcmf_get_vif_state_any(p2p->cfg, BRCMF_VIF_STATUS_CONNECTED)) |
| active = -1; |
| else |
| active = P2PAPI_SCAN_DWELL_TIME_MS; |
| --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c |
| +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c |
| @@ -5647,16 +5647,15 @@ enum nl80211_iftype brcmf_cfg80211_get_i |
| return wdev->iftype; |
| } |
| |
| -u32 wl_get_vif_state_all(struct brcmf_cfg80211_info *cfg, unsigned long state) |
| +bool brcmf_get_vif_state_any(struct brcmf_cfg80211_info *cfg, unsigned long state) |
| { |
| struct brcmf_cfg80211_vif *vif; |
| - bool result = 0; |
| |
| list_for_each_entry(vif, &cfg->vif_list, list) { |
| if (test_bit(state, &vif->sme_state)) |
| - result++; |
| + return true; |
| } |
| - return result; |
| + return false; |
| } |
| |
| static inline bool vif_event_equals(struct brcmf_cfg80211_vif_event *event, |
| --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h |
| +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h |
| @@ -477,7 +477,7 @@ const struct brcmf_tlv * |
| brcmf_parse_tlvs(const void *buf, int buflen, uint key); |
| u16 channel_to_chanspec(struct brcmu_d11inf *d11inf, |
| struct ieee80211_channel *ch); |
| -u32 wl_get_vif_state_all(struct brcmf_cfg80211_info *cfg, unsigned long state); |
| +bool brcmf_get_vif_state_any(struct brcmf_cfg80211_info *cfg, unsigned long state); |
| void brcmf_cfg80211_arm_vif_event(struct brcmf_cfg80211_info *cfg, |
| struct brcmf_cfg80211_vif *vif); |
| bool brcmf_cfg80211_vif_event_armed(struct brcmf_cfg80211_info *cfg); |