wifi: mac80211: Use the bitmap API to allocate bitmaps

Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/dfb438a6a199ee4c95081fa01bd758fd30e50931.1656962156.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Christophe JAILLET 2022-07-04 21:16:09 +02:00 committed by Johannes Berg
parent 68608f9991
commit 37babce912

View File

@ -477,8 +477,7 @@ static int mesh_allocate_aid(struct ieee80211_sub_if_data *sdata)
unsigned long *aid_map; unsigned long *aid_map;
int aid; int aid;
aid_map = kcalloc(BITS_TO_LONGS(IEEE80211_MAX_AID + 1), aid_map = bitmap_zalloc(IEEE80211_MAX_AID + 1, GFP_KERNEL);
sizeof(*aid_map), GFP_KERNEL);
if (!aid_map) if (!aid_map)
return -ENOMEM; return -ENOMEM;
@ -491,7 +490,7 @@ static int mesh_allocate_aid(struct ieee80211_sub_if_data *sdata)
rcu_read_unlock(); rcu_read_unlock();
aid = find_first_zero_bit(aid_map, IEEE80211_MAX_AID + 1); aid = find_first_zero_bit(aid_map, IEEE80211_MAX_AID + 1);
kfree(aid_map); bitmap_free(aid_map);
if (aid > IEEE80211_MAX_AID) if (aid > IEEE80211_MAX_AID)
return -ENOBUFS; return -ENOBUFS;