wifi: cfg80211: fix wiphy delayed work queueing
authorJohannes Berg <johannes.berg@intel.com>
Thu, 25 Jan 2024 08:51:09 +0000 (09:51 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 26 Jan 2024 09:43:32 +0000 (10:43 +0100)
commitb743287d7a0007493f5cada34ed2085d475050b4
treefd8608c6853ffd594322b1d54690b4a32253c408
parent353d321f63f7dbfc9ef58498cc732c9fe886a596
wifi: cfg80211: fix wiphy delayed work queueing

When a wiphy work is queued with timer, and then again
without a delay, it's started immediately but *also*
started again after the timer expires. This can lead,
for example, to warnings in mac80211's offchannel code
as reported by Jouni. Running the same work twice isn't
expected, of course. Fix this by deleting the timer at
this point, when queuing immediately due to delay=0.

Cc: stable@vger.kernel.org
Reported-by: Jouni Malinen <j@w1.fi>
Fixes: a3ee4dc84c4e ("wifi: cfg80211: add a work abstraction with special semantics")
Link: https://msgid.link/20240125095108.2feb0eaaa446.I4617f3210ed0e7f252290d5970dac6a876aa595b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/core.c