rpms/kernel/F-11 linux-2.6-mac80211-fix-beacon-loss-detection-after-scan.patch, NONE, 1.1 kernel.spec, 1.1567, 1.1568

John W. Linville linville at fedoraproject.org
Wed Apr 22 14:46:05 UTC 2009


Author: linville

Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28928

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-mac80211-fix-beacon-loss-detection-after-scan.patch 
Log Message:
back-port mac80211: fix beacon loss detection after scan

linux-2.6-mac80211-fix-beacon-loss-detection-after-scan.patch:

--- NEW FILE linux-2.6-mac80211-fix-beacon-loss-detection-after-scan.patch ---
Back-port of the following upstream commit...

commit ad935687dbe7307f5abd9e3f610a965a287324a9
Author: Kalle Valo <kalle.valo at iki.fi>
Date:   Sun Apr 19 08:47:19 2009 +0300

    mac80211: fix beacon loss detection after scan
    
    Currently beacon loss detection triggers after a scan. A probe request
    is sent and a message like this is printed to the log:
    
    wlan0: beacon loss from AP 00:12:17:e7:98:de - sending probe request
    
    But in fact there is no beacon loss, the beacons are just not received
    because of the ongoing scan. Fix it by updating last_beacon after
    the scan has finished.
    
    Reported-by: Jaswinder Singh Rajput <jaswinder at kernel.org>
    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
    Acked-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

diff -up linux-2.6.29.noarch/net/mac80211/mlme.c.orig linux-2.6.29.noarch/net/mac80211/mlme.c
--- linux-2.6.29.noarch/net/mac80211/mlme.c.orig	2009-04-22 10:28:59.000000000 -0400
+++ linux-2.6.29.noarch/net/mac80211/mlme.c	2009-04-22 10:36:24.000000000 -0400
@@ -2364,9 +2364,30 @@ static void ieee80211_sta_work(struct wo
 
 static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
 {
-	if (sdata->vif.type == NL80211_IFTYPE_STATION)
+	struct ieee80211_local *local = sdata->local;
+	struct sta_info *sta;
+
+	rcu_read_lock();
+
+	sta = sta_info_get(local, sdata->u.sta.bssid);
+	if (!sta) {
+		rcu_read_unlock();
+		return;
+	}
+
+ 	if (sdata->vif.type == NL80211_IFTYPE_STATION) {
+ 		/*
+ 		 * Need to update last_rx to avoid beacon loss
+ 		 * test to trigger.
+ 		 */
+ 		sta->last_rx = jiffies;
+ 
+ 
 		queue_work(sdata->local->hw.workqueue,
 			   &sdata->u.sta.work);
+	}
+
+	rcu_read_unlock();
 }
 
 /* interface setup */


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1567
retrieving revision 1.1568
diff -u -r1.1567 -r1.1568
--- kernel.spec	21 Apr 2009 20:26:43 -0000	1.1567
+++ kernel.spec	22 Apr 2009 14:46:01 -0000	1.1568
@@ -667,6 +667,7 @@
 Patch682: linux-2.6-ipw2x00-age-scan-results-on-resume.patch
 Patch683: linux-2.6-iwl3945-report-killswitch-changes-even-if-the-interface-is-down.patch
 Patch684: linux-2.6-iwlagn-fix-hw-rfkill-while-the-interface-is-down.patch
+Patch685: linux-2.6-mac80211-fix-beacon-loss-detection-after-scan.patch
 
 Patch700: linux-2.6-dma-debug-fixes.patch
 
@@ -1321,6 +1322,9 @@
 ApplyPatch linux-2.6-iwl3945-report-killswitch-changes-even-if-the-interface-is-down.patch
 ApplyPatch linux-2.6-iwlagn-fix-hw-rfkill-while-the-interface-is-down.patch
 
+# back-port mac80211: fix beacon loss detection after scan
+ApplyPatch linux-2.6-mac80211-fix-beacon-loss-detection-after-scan.patch
+
 # Fix up DMA debug code
 ApplyPatch linux-2.6-dma-debug-fixes.patch
 
@@ -1980,6 +1984,9 @@
 # and build.
 
 %changelog
+* Wed Apr 22 2009 John W. Linville <linville at redhat.com> 2.6.29.1-106
+- back-port mac80211: fix beacon loss detection after scan
+
 * Tue Apr 21 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29.1-105
 - Don't include the modules.*.bin files in the RPM package.
 




More information about the scm-commits mailing list