On Wed, Jul 18, 2012 at 12:33:12PM +0100, Stuart Henderson wrote:
> On 2012/07/18 12:51, Stefan Sperling wrote:
> > Node cache eviction is too agressive, possibly kicking off associated
> > stations for no good reason. I missed that associated stations are in
> > state IEEE80211_S_RUN rather than IEEE80211_S_ASSOC (which means "trying
> > to associate").
> 
> there's ieee80211_node_state with the IEEE80211_STA_* enum ..
> 
> enum ieee80211_node_state {
>         IEEE80211_STA_CACHE,    /* cached node */
>         IEEE80211_STA_BSS,      /* ic->ic_bss, the network we joined */
>         IEEE80211_STA_AUTH,     /* successfully authenticated */
>         IEEE80211_STA_ASSOC,    /* successfully associated */
>         IEEE80211_STA_COLLECT   /* This node remains in the cache while
>                                  * the driver sends a de-auth message;
>                                  * afterward it should be freed to make room
>                                  * for a new node.
>                                  */
> };
> 
> and also ieee80211_state with IEEE80211_S_*,
> 
> enum ieee80211_state {
>         IEEE80211_S_INIT        = 0,    /* default state */
>         IEEE80211_S_SCAN        = 1,    /* scanning */
>         IEEE80211_S_AUTH        = 2,    /* try to authenticate */
>         IEEE80211_S_ASSOC       = 3,    /* try to assoc */
>         IEEE80211_S_RUN         = 4     /* associated */
> };
> 
> so I'm not sure about this, it looks like the diff changes things so that
> nodes in STA_COLLECT are no longer kicked off?

Oh my, yes, I was looking at the wrong enum. Thanks for catching this!
 
> > Also compile the debug message shown when a node is evicted from the
> > cache to make such problems easier to spot (won't affect install media
> > as it is protected by IEEE80211_STA_ONLY).
> 
> OK for this bit.

I'll commit just the debug print so. Thanks again.

Reply via email to