On Wed, Sep 15, 2010 at 05:42:10PM +0530, Johannes Berg wrote: > On Wed, 2010-09-15 at 17:26 +0530, Rajkumar Manoharan wrote: > > ath9k is not receiving frames in monitor mode after the commit 34d4bc. > > The problem is mac80211 sets IEEE80211_CONF_IDLE in __ieee80211_recalc_idle > > at ieee80211_do_open. Due to this, ath9k disables the radio. > > > > The above said commit sets SDATA_STATE_RUNNING after __ieee80211_recalc_idle. > > IMHO avoiding __ieee80211_recalc_idle in monitor mode looks better > > than moving SDATA_STATE_RUNNING set before __ieee80211_recalc_idle. > > > > Signed-off-by: Rajkumar Manoharan <rmanoharan@xxxxxxxxxxx> > > Signed-off-by: Vasanthakumar Thiagarajan <vasanth@xxxxxxxxxxx> > > --- > > net/mac80211/iface.c | 8 +++++--- > > 1 files changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c > > index c1cc200..2bec319 100644 > > --- a/net/mac80211/iface.c > > +++ b/net/mac80211/iface.c > > @@ -310,9 +310,11 @@ static int ieee80211_do_open(struct net_device *dev, bool coming_up) > > if (sdata->flags & IEEE80211_SDATA_PROMISC) > > atomic_inc(&local->iff_promiscs); > > > > - mutex_lock(&local->mtx); > > - hw_reconf_flags |= __ieee80211_recalc_idle(local); > > - mutex_unlock(&local->mtx); > > + if (sdata->vif.type != NL80211_IFTYPE_MONITOR) { > > + mutex_lock(&local->mtx); > > + hw_reconf_flags |= __ieee80211_recalc_idle(local); > > + mutex_unlock(&local->mtx); > > + } > > Hmm, that doesn't seem right, wouldn't it be idle to start with? not sure whether I am missing something here. Shouldn't we be receiving frames in monitor mode as soon as the interface is up and running. I don't see any reason why should we even care about IDLE state for MONITOR mode. > > johannes > -- 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