[kernel] r12543 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Dann Frazier dannf at alioth.debian.org
Mon Jan 5 04:49:50 UTC 2009


Author: dannf
Date: Mon Jan  5 04:49:47 2009
New Revision: 12543

Log:
Disable link tuning in rt2500usb driver. (Closes: #510607)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/rt2500usb-disable-link-tuning.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/13

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Mon Jan  5 04:49:47 2009
@@ -17,12 +17,13 @@
   * Add workaround for USB storage on Rockchip MP3 player (Closes: #505256)
   * Enable w9968cf driver on all i386 images (Closes: #495698)
   * Register DualPoint model found in Dell Latitude E6500 (Closes: #507958)
+  * Disable link tuning in rt2500usb driver. (Closes: #510607)
 
   [ Martin Michlmayr ]
   * V4L/DVB: Fix initialization of URB list (Thomas Reitmayr) to address
     the oops reported at http://forum.qnap.com/viewtopic.php?f=147&t=10572
 
- -- dann frazier <dannf at debian.org>  Tue, 30 Dec 2008 13:23:09 -0700
+ -- dann frazier <dannf at debian.org>  Sun, 04 Jan 2009 21:36:24 -0700
 
 linux-2.6 (2.6.26-12) unstable; urgency=high
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/rt2500usb-disable-link-tuning.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/rt2500usb-disable-link-tuning.patch	Mon Jan  5 04:49:47 2009
@@ -0,0 +1,64 @@
+commit d06193f311102b2c990ec5f66b470ea49ecc73a4
+Author: Ivo van Doorn <IvDoorn at gmail.com>
+Date:   Sun Aug 3 23:36:01 2008 +0200
+
+    rt2x00: Disable link tuning in rt2500usb
+    
+    In the legacy rt2570 driver the link tuner was never
+    really called. And now the reason has finally become
+    apparent: It breaks TX capabilities
+    
+    As soon as the device has been associated all following
+    TX frames will be queued in the hardware and never transmitted
+    to the air. Disabling sections of the link tuner did not
+    have the expected result, but completely disabling the
+    link tuner did have the right result (Both of my rt2570 devices
+    came back to life).
+    
+    This should fix Fedora bug: 411481
+    
+    v2: Fix typos
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf at debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/net/wireless/rt2x00/rt2500usb.c linux-source-2.6.26/drivers/net/wireless/rt2x00/rt2500usb.c
+--- linux-source-2.6.26.orig/drivers/net/wireless/rt2x00/rt2500usb.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/net/wireless/rt2x00/rt2500usb.c	2009-01-04 21:33:49.000000000 -0700
+@@ -622,6 +622,16 @@ static void rt2500usb_reset_tuner(struct
+ 	rt2x00dev->link.vgc_level = value;
+ }
+ 
++/*
++ * NOTE: This function is directly ported from legacy driver, but
++ * despite it being declared it was never called. Although link tuning
++ * sounds like a good idea, and usually works well for the other drivers,
++ * it does _not_ work with rt2500usb. Enabling this function will result
++ * in TX capabilities only until association kicks in. Immediately
++ * after the successful association all TX frames will be kept in the
++ * hardware queue and never transmitted.
++ */
++#if 0
+ static void rt2500usb_link_tuner(struct rt2x00_dev *rt2x00dev)
+ {
+ 	int rssi = rt2x00_get_link_rssi(&rt2x00dev->link);
+@@ -741,6 +751,9 @@ dynamic_cca_tune:
+ 		rt2x00dev->link.vgc_level = r17;
+ 	}
+ }
++#else
++#define rt2500usb_link_tuner	NULL
++#endif
+ 
+ /*
+  * Initialization functions.
+@@ -1675,6 +1688,7 @@ static int rt2500usb_probe_hw(struct rt2
+ 	__set_bit(DRIVER_REQUIRE_ATIM_QUEUE, &rt2x00dev->flags);
+ 	__set_bit(DRIVER_REQUIRE_BEACON_GUARD, &rt2x00dev->flags);
+ 	__set_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags);
++	__set_bit(CONFIG_DISABLE_LINK_TUNING, &rt2x00dev->flags);
+ 
+ 	/*
+ 	 * Set the rssi offset.

Modified: dists/sid/linux-2.6/debian/patches/series/13
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/13	(original)
+++ dists/sid/linux-2.6/debian/patches/series/13	Mon Jan  5 04:49:47 2009
@@ -8,3 +8,4 @@
 + bugfix/all/usb-unusual_devs-addition-for-RockChip-MP3-player.patch
 + bugfix/x86/input-alps-add-dell-latitude-e6500.patch
 + bugfix/all/dvb-fix-init-of-urb-list.patch
++ bugfix/all/rt2500usb-disable-link-tuning.patch



More information about the Kernel-svn-changes mailing list