cfg80211: reduce monitor interface tracking
authorJohannes Berg <johannes.berg@intel.com>
Thu, 12 Jul 2012 20:19:48 +0000 (22:19 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 13 Jul 2012 14:16:11 +0000 (16:16 +0200)
commit4290cb4bf212112e3d6f860e25f000ca8a1ca6a4
treeb6dda8955a4e199c318860ffa01dc9b2ea417905
parent5b7ccaf3fc7446e42b83a77fd7aa7ad92850acdd
cfg80211: reduce monitor interface tracking

Revert commit b78e8ceac23655e1e06b30aa95ab11742d1ac7c0
("cfg80211: track monitor channel") and remove the
set_monitor_enabled() callback.

Due to the tracking happening in NETDEV_PRE_UP, it had
introduced bugs because the monitor interface callback
would be called before the device was started. It looks
like there's no way to fix this, and using NETDEV_PRE_UP
is broken anyway (since there's no NETDEV_UP_FAIL), so
remove all that code, track interfaces in NETDEV_UP and
also stop tracking the monitor channel in cfg80211.

This mostly reverts to before the tracking, except that
we keep the interface count tracking so that setting the
monitor channel can be rejected properly.

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