]> git.baikalelectronics.ru Git - kernel.git/commit
cfg80211: allow mgmt_frame_register callback to sleep
authorJohannes Berg <johannes.berg@intel.com>
Tue, 23 Jun 2015 15:47:05 +0000 (17:47 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 17 Jul 2015 13:38:26 +0000 (15:38 +0200)
commit5662d15318c50c1907dfe8d9430113b0a88c7cfe
treec85ca188c6028c484c7c95996e5de399f9ed09a4
parent4f57fb2d7f5fdf71a87f78ed9e3e012ff11cdc15
cfg80211: allow mgmt_frame_register callback to sleep

This callback is currently not allowed to sleep, which makes it more
difficult to implement proper driver methods in mac80211 than it has
to be. Instead of doing asynchronous work here in mac80211, make it
possible for the callback to sleep by doing some asynchronous work
in cfg80211. This also enables improvements to other drivers, like
ath6kl, that would like to sleep in this callback.

While at it, also fix the code to call the driver on the implicit
unregistration when an interface is removed, and do that also when
a P2P-Device wdev is destroyed (otherwise we leak the structs.)

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
net/wireless/core.c
net/wireless/core.h
net/wireless/mlme.c
net/wireless/rdev-ops.h