mac80211: fix the for_each_sta_info macro
PATCH 1/1 mac80211: fix the for_each_sta_info macro
Because of an ambiguity in the for_each_sta_info macro, it can currently only be used if the third parameter is set to 'sta'. Fix this by renaming the parameter to '_sta'.
Signed-off-by Felix Fietkau <[email protected]>
---
net/mac80211/sta_info.h +8 -8
@@ -427,20 +427,20 @@ void for_each_sta_info_type_check(struct ieee80211_local *local, { } -#define for_each_sta_info (local, _addr, sta, nxt) \ +#define for_each_sta_info (local, _addr, _sta, nxt) \ for (/* initialise loop */ \ - sta =rcu_dereference (local->sta_hash[STA_HASH (_addr)]),\ - nxt = sta ?rcu_dereference (sta->hnext) :NULL ; \ + _sta =rcu_dereference (local->sta_hash[STA_HASH (_addr)]),\ + nxt = _sta ?rcu_dereference (_sta->hnext) :NULL ; \/* typecheck */ \ -for_each_sta_info_type_check (local, (_addr), sta, nxt), \ +for_each_sta_info_type_check (local, (_addr), _sta, nxt),\/* continue condition */ \ - sta; \ + _sta; \/* advance loop */ \ - sta = nxt, \ - nxt = sta ? rcu_dereference(sta->hnext) : NULL \ + _sta = nxt, \ + nxt = _sta ? rcu_dereference(_sta->hnext) : NULL \ ) \/* compare address and run code only if it matches */ \ -if (memcmp (sta->sta.addr, (_addr),ETH_ALEN ) ==0 ) +if (memcmp (_sta->sta.addr, (_addr),ETH_ALEN ) ==0 )/* * Get STA info by index, BROKEN!