On Mon, Feb 20, 2012 at 6:35 AM, Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx> wrote: > > From: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx> > > nothing needs to be done for monitor 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@xxxxxxxxxx> > Signed-off-by: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx> > --- > net/mac80211/iface.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c > index 6b3cd65..6b2221b 100644 > --- a/net/mac80211/iface.c > +++ b/net/mac80211/iface.c > @@ -1342,6 +1342,8 @@ u32 __ieee80211_recalc_idle(struct ieee80211_local *local) > hw_roc = true; > > list_for_each_entry(sdata, &local->interfaces, list) { > + if (sdata->vif.type == NL80211_IFTYPE_MONITOR) > + continue; > if (sdata->old_idle == sdata->vif.bss_conf.idle) > continue; > if (!ieee80211_sdata_running(sdata)) > -- thanks, i missed it. i think we should skip NL80211_IFTYPE_AP_VLAN as well? Eliad. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html