Search Linux Wireless

Re: ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue...?

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

 



I am going to test this on a LEDE build.
Should I leave the mmio workaround patch applied as per OpenWRT default, or should I leave it off ?
I'll leave it off by default.
thank you again,
Enrico


On Tue, 19 Dec 2017, Stanislaw Gruszka wrote:

Date: Tue, 19 Dec 2017 13:27:07
From: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>
To: Enrico Mioso <mrkiko.rs@xxxxxxxxx>
Cc: linux-wireless@xxxxxxxxxxxxxxx, Johannes Berg <johannes.berg@xxxxxxxxx>,
    Daniel Golle <daniel@xxxxxxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,
    John Crispin <john@xxxxxxxxxxx>, nbd@xxxxxxxx
Subject: Re: ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping
    frame due to full tx queue...?

On Mon, Dec 18, 2017 at 04:21:42PM +0100, Stanislaw Gruszka wrote:
Hi

On Sat, Dec 16, 2017 at 07:33:47PM +0100, Enrico Mioso wrote:
I tested the Archer MR200 device removing the patch as you suggested:
package/kernel/mac80211/patches/600-23-rt2x00-rt2800mmio-add-a-workaround-for-spurious-TX_F.patch
... the error still appears, but the driver is still working as of now.
Here - reporting my dmesg
[  819.060392] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[  819.069900] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2

Please test two patches I posted today:
https://marc.info/?l=linux-wireless&m=151368325114059&w=2
https://marc.info/?l=linux-wireless&m=151368325914062&w=2

If they do not work, please try the queue->threshold change.

Thanks
Stanislaw


diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
index a2c1ca5c76d1..9e65b8f285e9 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
@@ -1224,7 +1224,7 @@ static void rt2x00queue_init(struct rt2x00_dev *rt2x00dev,

 	rt2x00dev->ops->queue_init(queue);

-	queue->threshold = DIV_ROUND_UP(queue->limit, 10);
+	queue->threshold = DIV_ROUND_UP(queue->limit, 8);
 }

 int rt2x00queue_allocate(struct rt2x00_dev *rt2x00dev)




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux