mac80211: cancel work instead of waiting for it to do nothing
authorJohannes Berg <johannes.berg@intel.com>
Wed, 5 Dec 2012 08:49:14 +0000 (09:49 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 6 Dec 2012 13:05:05 +0000 (14:05 +0100)
commit0b7dff4faed07f55be2a98dd0eafc02623174236
tree632417e2b6302076b3ef5781a5da98506cbff097
parent01331040e6442ad09181bfaacd8bb9687dce2389
mac80211: cancel work instead of waiting for it to do nothing

If the sdata work is pending while the interface is stopped,
we currently flush it. If it's not running this means waiting
for it to run, which could take a while if the workqueue is
backlogged. However, the work exits right away if it starts
to run while the interface is already stopping. There's no
point in waiting for that, so use cancel_work_sync() instead.

Reported-by: Ben Greear <greearb@candelatech.com>
Tested-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/iface.c