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'll apply your patch and let you know. Thank you very very much for your help, patience, and re-posting the patch.
Your work is very valuable, sorry for the slowness and not testing this before.
Enrico


On Wed, 3 Jan 2018, Stanislaw Gruszka wrote:

Date: Wed, 3 Jan 2018 12:35:41
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...?

Hi

On Sun, Dec 24, 2017 at 01:19:06PM +0100, Enrico Mioso wrote:
Unfortunately, the error di appear again. Still, I experienced no stalls.
But i am starting to think this doesn't happen necessarily when a device is going out of range. Now I think I don't know when this triggers.

<sni>
Sun Dec 24 10:10:50 2017 authpriv.info dropbear[840]: Exit (root): Disconnect received
Sun Dec 24 11:04:33 2017 kern.err kernel: [ 1510.616638] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Dec 24 11:04:33 2017 kern.err kernel: [ 1510.626106] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Dec 24 11:04:33 2017 kern.err kernel: [ 1510.635562] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2

I would also try bigger threshold for waking queue like
in below patch for those errors:

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
index 357c0941aaad..b8bdf57ed7ea 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
@@ -416,7 +416,7 @@ static void rt2x00lib_clear_entry(struct rt2x00_dev *rt2x00dev,
	 * before it was stopped.
	 */
	spin_lock_bh(&entry->queue->tx_lock);
-	if (!rt2x00queue_threshold(entry->queue))
+	if (rt2x00queue_available(queue) > 2*queue->threshold)
		rt2x00queue_unpause_queue(entry->queue);
	spin_unlock_bh(&entry->queue->tx_lock);
}




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

  Powered by Linux