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 <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Felix Fietkau 2010-06-25 01:44:33 +02:00 committed by John W. Linville
parent 78c4653a22
commit 38bdb650f9

View File

@ -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!