File rtl8192_no_WAP_unassoc.patch of Package kernel

If we're not associated, we should not send wireless events to let userspace
know that we just left an ESSID, simply because we havent yet joined it.
If we keep on doing that, wpa_supplicant could receive such events while
actually trying to join an ESSID, and thus decide to stop trying. This leads
to a lot of connection failures as this driver seems to be sending GIWAP
events quite a lot.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
---
 drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Index: b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
===================================================================
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c	2010-01-15 16:57:48.000000000 +0100
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c	2010-01-15 19:31:56.000000000 +0100
@@ -2726,11 +2726,12 @@ void ieee80211_disassociate(struct ieee8
 	if(IS_DOT11D_ENABLE(ieee))
 		Dot11d_Reset(ieee);
 #endif
-	ieee->state = IEEE80211_NOLINK;
 	ieee->is_set_key = false;
 	ieee->link_change(ieee->dev);
 	//HTSetConnectBwMode(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
-	notify_wx_assoc_event(ieee);
+	if (ieee->state == IEEE80211_LINKED)
+		notify_wx_assoc_event(ieee);
+	ieee->state = IEEE80211_NOLINK;
 
 }
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))

-- 
Intel Open Source Technology Centre
http://oss.intel.com/
_______________________________________________
Moblin-kernel mailing list
Moblin-kernel@linux.intel.com
http://linux.intel.com/mailman/listinfo/moblin-kernel

openSUSE Build Service is sponsored by