All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Buesch <mb@bu3sch.de>
To: matthieu castet <castet.matthieu@free.fr>
Cc: linux-wireless@vger.kernel.org
Subject: Re: b43 : under high load, ack are lost
Date: Thu, 21 May 2009 17:47:43 +0200	[thread overview]
Message-ID: <200905211747.43882.mb@bu3sch.de> (raw)
In-Reply-To: <loom.20090520T210546-24@post.gmane.org>

On Wednesday 20 May 2009 23:09:47 matthieu castet wrote:
> I see also some period were the AP seem to drop all packet.
> I am wondering if it can be due to slow recalibration.
> Do you now how much take calibration were mac is down ?

I think you should try without QoS.
Try specifying the qos=0 module parameter to b43.
If that does not work, additionally apply the following patch.
I think there are some problems with QoS and I think somebody reported some bugs
some time ago. I think they are still not addressed.

If I try with this patch and QoS disabled, the monitor log looks a bit better.
But the connection still doesn't work correctly. However, I only have applied
that patch to the AP. I will also apply it to the station, soon...

In any case, I think this patch is a good thing, as it will completely disable
QoS, if the user requested so.


Index: compat-wireless-2009-05-21/drivers/net/wireless/b43/main.c
===================================================================
--- compat-wireless-2009-05-21.orig/drivers/net/wireless/b43/main.c	2009-05-21 17:16:49.000000000 +0200
+++ compat-wireless-2009-05-21/drivers/net/wireless/b43/main.c	2009-05-21 17:20:48.000000000 +0200
@@ -3064,6 +3064,9 @@
 	int bslots, tmp;
 	unsigned int i;
 
+	if (!b43_modparam_qos)
+		return;
+
 	bslots = b43_read16(dev, B43_MMIO_RNG) & p->cw_min;
 
 	memset(&params, 0, sizeof(params));
@@ -3109,6 +3112,9 @@
 	struct b43_qos_params *params;
 	unsigned int i;
 
+	if (!b43_modparam_qos)
+		return;
+
 	BUILD_BUG_ON(ARRAY_SIZE(b43_qos_shm_offsets) !=
 		     ARRAY_SIZE(wl->qos_params));
 
@@ -3126,6 +3132,9 @@
 	struct b43_qos_params *params;
 	unsigned int i;
 
+	if (!b43_modparam_qos)
+		return;
+
 	/* Initialize QoS parameters to sane defaults. */
 
 	BUILD_BUG_ON(ARRAY_SIZE(b43_qos_shm_offsets) !=
@@ -3168,6 +3177,15 @@
 /* Initialize the core's QOS capabilities */
 static void b43_qos_init(struct b43_wldev *dev)
 {
+	if (!b43_modparam_qos) {
+		/* Disable QOS support. */
+		b43_hf_write(dev, b43_hf_read(dev) & ~B43_HF_EDCF);
+		b43_write16(dev, B43_MMIO_IFSCTL,
+			    b43_read16(dev, B43_MMIO_IFSCTL)
+			    & ~B43_MMIO_IFSCTL_USE_EDCF);
+		return;
+	}
+
 	/* Upload the current QOS parameters. */
 	b43_qos_upload_all(dev);
 


-- 
Greetings, Michael.

  parent reply	other threads:[~2009-05-21 15:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-17  9:08 b43 : under high load, ack are lost Matthieu CASTET
2009-05-20 20:37 ` matthieu castet
2009-05-20 21:09   ` matthieu castet
2009-05-20 21:34     ` Michael Buesch
2009-05-21 10:16       ` Michael Buesch
2009-05-21 15:47     ` Michael Buesch [this message]
2009-05-24 21:42       ` matthieu castet
2009-05-24 21:53         ` Michael Buesch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200905211747.43882.mb@bu3sch.de \
    --to=mb@bu3sch.de \
    --cc=castet.matthieu@free.fr \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.