]> git.itanic.dy.fi Git - linux-stable/commitdiff
rndis_wlan: disable stall workaround
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Sun, 22 Nov 2009 18:16:47 +0000 (20:16 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Mar 2010 15:49:43 +0000 (08:49 -0700)
commit 77593ae28c4c134eaf28ef34ecac3cd4464ecd6e upstream.

Stall workaround doesn't work with bcm4320a devices like with bcm4320b.
This workaround actually causes more stalls/device freeze on bcm4320a.
Therefore disable stall workaround by default.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/rndis_wlan.c

index 8b09b043bc4e9e5951ffad6cd3d72375c66333f5..2ecbedb26e152c28e697ac8927be151934ee4144 100644 (file)
@@ -83,11 +83,11 @@ MODULE_PARM_DESC(roamdelta,
        "set roaming tendency: 0=aggressive, 1=moderate, "
                                "2=conservative (default: moderate)");
 
-static int modparam_workaround_interval = 500;
+static int modparam_workaround_interval;
 module_param_named(workaround_interval, modparam_workaround_interval,
                                                        int, 0444);
 MODULE_PARM_DESC(workaround_interval,
-       "set stall workaround interval in msecs (default: 500)");
+       "set stall workaround interval in msecs (0=disabled) (default: 0)");
 
 
 /* various RNDIS OID defs */
@@ -2550,7 +2550,7 @@ static void rndis_device_poller(struct work_struct *work)
        /* Workaround transfer stalls on poor quality links.
         * TODO: find right way to fix these stalls (as stalls do not happen
         * with ndiswrapper/windows driver). */
-       if (priv->last_qual <= 25) {
+       if (priv->param_workaround_interval > 0 && priv->last_qual <= 25) {
                /* Decrease stats worker interval to catch stalls.
                 * faster. Faster than 400-500ms causes packet loss,
                 * Slower doesn't catch stalls fast enough.