wifi: mac80211: use kvcalloc() for codel vars
This is a big array, but it's only used by software and need not be contiguous in memory. Use kvcalloc() since it's so big (order 5 allocation). Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240325150509.9195643699e4.I1b94b17abc809491080d6312f31ce6b5decdd446@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
96833fb3c7
commit
f40db02e8f
|
@ -1604,8 +1604,8 @@ int ieee80211_txq_setup_flows(struct ieee80211_local *local)
|
|||
local->cparams.target = MS2TIME(20);
|
||||
local->cparams.ecn = true;
|
||||
|
||||
local->cvars = kcalloc(fq->flows_cnt, sizeof(local->cvars[0]),
|
||||
GFP_KERNEL);
|
||||
local->cvars = kvcalloc(fq->flows_cnt, sizeof(local->cvars[0]),
|
||||
GFP_KERNEL);
|
||||
if (!local->cvars) {
|
||||
spin_lock_bh(&fq->lock);
|
||||
fq_reset(fq, fq_skb_free_func);
|
||||
|
@ -1625,7 +1625,7 @@ void ieee80211_txq_teardown_flows(struct ieee80211_local *local)
|
|||
{
|
||||
struct fq *fq = &local->fq;
|
||||
|
||||
kfree(local->cvars);
|
||||
kvfree(local->cvars);
|
||||
local->cvars = NULL;
|
||||
|
||||
spin_lock_bh(&fq->lock);
|
||||
|
|
Loading…
Reference in New Issue