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]

 



First of all - thank you very very much.
i'll try the two patches ASAP, and let you know.
Thank you very much for the help to solve this.
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