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.