mac80211: Fix a warning on changing to monitor mode from STA
authorMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Mon, 20 Feb 2012 09:14:01 +0000 (14:44 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 21 Feb 2012 19:45:27 +0000 (14:45 -0500)
commit0dee00686da88cc32753e02e4e8efdd9e326e4d2
tree19552d6f17e99cda523f8ba702c3b465aa7097a8
parent8617b093d0031837a7be9b32bc674580cfb5f6b5
mac80211: Fix a warning on changing to monitor mode from STA

nothing needs to be done for monitor/AP_VLAN mode on calling
ieee80211_bss_info_change_notify -> drv_bss_info_changed with the change
flag 'BSS_CHANGED_IDLE'. 'wl1271' seems to use BSS_CHANGED_IDLE only for
STA and IBSS mode. further the non-idle state of the monitor mode is
taken care by the 'count' variable which counts non-idle interfaces.
ieee80211_idle_off(local, "in use") will be called.
this fixes the following WARNING when we have initially STA mode
(network manager running) and not associated, and change it to monitor
mode with network manager disabled and bringing up the monitor mode.
this changes the idle state from 'true' (STA unassociated) to 'false'
(MONITOR mode)
exposed by the commit 405385f8ce7a2ed8f82e216d88b5282142e1288b
"mac80211: set bss_conf.idle when vif is connected"

WARNING: net/mac80211/main.c:212
ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]()
Hardware name: 64756D6
Pid: 3835, comm: ifconfig Tainted: G           O
3.3.0-rc3-wl #9
Call Trace:
  [<c0133b02>] warn_slowpath_common+0x72/0xa0
  [<fc8e8c3f>] ?
  ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]
  [<fc8e8c3f>] ?
  ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]
  [<c0133b52>] warn_slowpath_null+0x22/0x30
  [<fc8e8c3f>]
  ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]
  [<fc8f9de3>] __ieee80211_recalc_idle+0x113/0x430
  [mac80211]
  [<fc8fabc6>] ieee80211_do_open+0x156/0x7e0 [mac80211]
  [<fc8f8a25>] ?
  ieee80211_check_concurrent_iface+0x25/0x180 [mac80211]
  [<c015dd9f>] ? raw_notifier_call_chain+0x1f/0x30
  [<fc8fb290>] ieee80211_open+0x40/0x80 [mac80211]
  [<c05894f6>] __dev_open+0x96/0xe0
  [<c068fba5>] ? _raw_spin_unlock_bh+0x35/0x40
  [<c05881d9>] __dev_change_flags+0x109/0x170
  [<c0589423>] dev_change_flags+0x23/0x60
  [<c05f3770>] devinet_ioctl+0x6a0/0x770

 ieee80211 phy0: device no longer idle - in use

Cc: Eliad Peller <eliad@wizery.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/iface.c