Search Linux Wireless

Re: [PATCH] rndis_wlan: enable stall workaround by link quality instead of link speed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Did I send this patch to right person/place, I hope this gets on 2.6.25.

 - Jussi

On Wed, 2008-02-06 at 15:36 +0200, Jussi Kivilinna wrote:
> Enable workaround for poor link stalls by link quality instead of link
> speed. Using link speed caused workaround be active always on 802.11b
> networks which reduced performance and not even catch all stalls.
> 
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@xxxxxxxx>
> ---
> 
>  drivers/net/wireless/rndis_wlan.c |   14 +++++---------
>  1 files changed, 5 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
> index d3ecf89..8ce2ddf 100644
> --- a/drivers/net/wireless/rndis_wlan.c
> +++ b/drivers/net/wireless/rndis_wlan.c
> @@ -2300,7 +2300,7 @@ static void rndis_update_wireless_stats(struct work_struct *work)
>  	struct usbnet *usbdev = priv->usbdev;
>  	struct iw_statistics iwstats;
>  	__le32 rssi, tmp;
> -	int len, ret, bitrate, j;
> +	int len, ret, j;
>  	unsigned long flags;
>  	int update_jiffies = STATS_UPDATE_JIFFIES;
>  	void *buf;
> @@ -2352,14 +2352,10 @@ static void rndis_update_wireless_stats(struct work_struct *work)
>  	if (ret == 0)
>  		iwstats.discard.misc += le32_to_cpu(tmp);
>  
> -	/* Workaround transfer stalls on poor quality links. */
> -	len = sizeof(tmp);
> -	ret = rndis_query_oid(usbdev, OID_GEN_LINK_SPEED, &tmp, &len);
> -	if (ret == 0) {
> -		bitrate = le32_to_cpu(tmp) * 100;
> -		if (bitrate > 11000000)
> -			goto end;
> -
> +	/* 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 (iwstats.qual.qual <= 25) {
>  		/* Decrease stats worker interval to catch stalls.
>  		 * faster. Faster than 400-500ms causes packet loss,
>  		 * Slower doesn't catch stalls fast enough.
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux