summaryrefslogtreecommitdiffstats
path: root/net/mac80211/wme.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-12-08 13:16:41 +0100
committerJohannes Berg <johannes.berg@intel.com>2016-01-14 11:10:09 +0100
commite9db45578706e216d9bb0fb5f459b137da54be63 (patch)
treee452f456c0f86cfbd7e009e5bc29f1a26fd87fde /net/mac80211/wme.c
parent701a0fd5231866db08cebcd502894699f49cb960 (diff)
downloadop-kernel-dev-e9db45578706e216d9bb0fb5f459b137da54be63.zip
op-kernel-dev-e9db45578706e216d9bb0fb5f459b137da54be63.tar.gz
mac80211: recalculate SW ROC only when needed
The current (new) code recalculates the new work timeout for software remain-on-channel whenever any item started. In two of the callers of ieee80211_handle_roc_started(), this is completely pointless since they're for hardware and will skip the recalculation entirely; it's necessary only in the case of having just added a new item to the list, as in the last remaining case the recalculation had just been done. This last case, however, is also problematic - if one of the items on the list actually expires during the recalc the list iteration outside becomes corrupted and crashes. Fix this by moving the recalculation to the only place where it's required. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/wme.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud