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);
}