linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb
@ 2014-01-06 18:52 Julien Massot
  2014-01-06 18:52 ` [PATCH 1/2] ath6kl: increase usb rx buffer size to 4096 Julien Massot
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Julien Massot @ 2014-01-06 18:52 UTC (permalink / raw)
  To: ath6kl-devel; +Cc: linux-wireless, kvalo, Julien Massot

By stressing the communication with different stream, iperf, ping,
and web browsing, the transmission is stuck after a while. (5-10 minutes)

The driver doesn't update correctly the tx credit,
and the transmission becomes very slow.

The ping latency raise to 20 secs, and finally stop with
"no buffer space available".

The first patch fixes a babble error in Rx message:
"ath6kl: ath6kl_usb_recv_complete: recv pipe: 5, stat:-75, len:1536 urb:0xffff8802010dad80".

The second patch decreases the Rx read threshold to make sure we read
the tx credit report as soon as possible.

Julien Massot (2):
  ath6kl: increase usb rx buffer size to 4096
  ath6kl: set rx urb count threshold to 1

 drivers/net/wireless/ath/ath6kl/usb.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--
1.8.4.2

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] ath6kl: increase usb rx buffer size to 4096
  2014-01-06 18:52 [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb Julien Massot
@ 2014-01-06 18:52 ` Julien Massot
  2014-01-06 18:52 ` [PATCH 2/2] ath6kl: set rx urb count threshold to 1 Julien Massot
  2014-01-18  9:41 ` [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb Kalle Valo
  2 siblings, 0 replies; 4+ messages in thread
From: Julien Massot @ 2014-01-06 18:52 UTC (permalink / raw)
  To: ath6kl-devel; +Cc: linux-wireless, kvalo, Julien Massot

With the previous value (1700), some urb are dropped
with a babble error (urb status equal -EOVERFLOW).

These error seems to only happen when urb length is a
multiple of packet size (512).

Signed-off-by: Julien Massot <jmassot@aldebaran-robotics.com>
---
 drivers/net/wireless/ath/ath6kl/usb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c
index f38ff6a..bbaf867 100644
--- a/drivers/net/wireless/ath/ath6kl/usb.c
+++ b/drivers/net/wireless/ath/ath6kl/usb.c
@@ -24,7 +24,7 @@
 /* constants */
 #define TX_URB_COUNT            32
 #define RX_URB_COUNT            32
-#define ATH6KL_USB_RX_BUFFER_SIZE  1700
+#define ATH6KL_USB_RX_BUFFER_SIZE  4096
 
 /* tx/rx pipes for usb */
 enum ATH6KL_USB_PIPE_ID {
-- 
1.8.4.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] ath6kl: set rx urb count threshold to 1
  2014-01-06 18:52 [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb Julien Massot
  2014-01-06 18:52 ` [PATCH 1/2] ath6kl: increase usb rx buffer size to 4096 Julien Massot
@ 2014-01-06 18:52 ` Julien Massot
  2014-01-18  9:41 ` [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb Kalle Valo
  2 siblings, 0 replies; 4+ messages in thread
From: Julien Massot @ 2014-01-06 18:52 UTC (permalink / raw)
  To: ath6kl-devel; +Cc: linux-wireless, kvalo, Julien Massot

Reduce the Rx count threshold to make sure we read
the available credits for Tx.

Signed-off-by: Julien Massot <jmassot@aldebaran-robotics.com>
---
 drivers/net/wireless/ath/ath6kl/usb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c
index bbaf867..56c3fd5 100644
--- a/drivers/net/wireless/ath/ath6kl/usb.c
+++ b/drivers/net/wireless/ath/ath6kl/usb.c
@@ -481,8 +481,8 @@ static void ath6kl_usb_start_recv_pipes(struct ath6kl_usb *ar_usb)
 	 *		ATH6KL_USB_RX_BUFFER_SIZE);
 	 */
 
-	ar_usb->pipes[ATH6KL_USB_PIPE_RX_DATA].urb_cnt_thresh =
-	    ar_usb->pipes[ATH6KL_USB_PIPE_RX_DATA].urb_alloc / 2;
+	ar_usb->pipes[ATH6KL_USB_PIPE_RX_DATA].urb_cnt_thresh = 1;
+
 	ath6kl_usb_post_recv_transfers(&ar_usb->pipes[ATH6KL_USB_PIPE_RX_DATA],
 				       ATH6KL_USB_RX_BUFFER_SIZE);
 }
-- 
1.8.4.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb
  2014-01-06 18:52 [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb Julien Massot
  2014-01-06 18:52 ` [PATCH 1/2] ath6kl: increase usb rx buffer size to 4096 Julien Massot
  2014-01-06 18:52 ` [PATCH 2/2] ath6kl: set rx urb count threshold to 1 Julien Massot
@ 2014-01-18  9:41 ` Kalle Valo
  2 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2014-01-18  9:41 UTC (permalink / raw)
  To: Julien Massot; +Cc: ath6kl-devel, linux-wireless

Julien Massot <jmassot@aldebaran-robotics.com> writes:

> By stressing the communication with different stream, iperf, ping,
> and web browsing, the transmission is stuck after a while. (5-10 minutes)
>
> The driver doesn't update correctly the tx credit,
> and the transmission becomes very slow.
>
> The ping latency raise to 20 secs, and finally stop with
> "no buffer space available".
>
> The first patch fixes a babble error in Rx message:
> "ath6kl: ath6kl_usb_recv_complete: recv pipe: 5, stat:-75, len:1536 urb:0xffff8802010dad80".
>
> The second patch decreases the Rx read threshold to make sure we read
> the tx credit report as soon as possible.
>
> Julien Massot (2):
>   ath6kl: increase usb rx buffer size to 4096
>   ath6kl: set rx urb count threshold to 1

Thanks, both patches applied.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-01-18  9:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-06 18:52 [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb Julien Massot
2014-01-06 18:52 ` [PATCH 1/2] ath6kl: increase usb rx buffer size to 4096 Julien Massot
2014-01-06 18:52 ` [PATCH 2/2] ath6kl: set rx urb count threshold to 1 Julien Massot
2014-01-18  9:41 ` [PATCH 0/2] ath6kl: Fix Tx credits management for ar6004 usb Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).