diff -Naur compat-wireless-2008-03-28/net/mac80211/ieee80211_sta.c compat-wireless-2008-03-28-new/net/mac80211/ieee80211_sta.c --- compat-wireless-2008-03-28/net/mac80211/ieee80211_sta.c 2008-03-28 02:14:15.000000000 -0300 +++ compat-wireless-2008-03-28-new/net/mac80211/ieee80211_sta.c 2008-04-03 16:47:33.000000000 -0400 @@ -1823,6 +1823,16 @@ } ieee80211_set_disassoc(dev, ifsta, 0); + + /* Set state to un-authenticated when receive + a disassociation request from the AP by inactivity */ + if( reason_code == 4 ) { + ifsta->auth_tries = 0; + ifsta->flags &= ~IEEE80211_STA_AUTHENTICATED; + ifsta->state = IEEE80211_AUTHENTICATE; + mod_timer(&ifsta->timer, jiffies + + IEEE80211_RETRY_AUTH_INTERVAL); + } }