Commit cfe82fbd authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by Kalle Valo

rt2800: increase TX timeout

When medium is busy or frames have to be resend, it takes time to send
the frames and get TX status from hardware. For some really bad medium
conditions it can take seconds. Patch change TX status timeout to give
HW more time to provide it, however 500ms is not enough for bad
conditions. In the future this timeout should be removed and replaced
with proper watchdog mechanism.

Increase flush timeout accordingly as well.
Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 480b4686
...@@ -123,7 +123,7 @@ static inline bool rt2800usb_entry_txstatus_timeout(struct queue_entry *entry) ...@@ -123,7 +123,7 @@ static inline bool rt2800usb_entry_txstatus_timeout(struct queue_entry *entry)
if (!test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags)) if (!test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
return false; return false;
tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(100)); tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(500));
if (unlikely(tout)) if (unlikely(tout))
rt2x00_dbg(entry->queue->rt2x00dev, rt2x00_dbg(entry->queue->rt2x00dev,
"TX status timeout for entry %d in queue %d\n", "TX status timeout for entry %d in queue %d\n",
......
...@@ -101,7 +101,7 @@ void rt2x00mmio_flush_queue(struct data_queue *queue, bool drop) ...@@ -101,7 +101,7 @@ void rt2x00mmio_flush_queue(struct data_queue *queue, bool drop)
unsigned int i; unsigned int i;
for (i = 0; !rt2x00queue_empty(queue) && i < 10; i++) for (i = 0; !rt2x00queue_empty(queue) && i < 10; i++)
msleep(10); msleep(50);
} }
EXPORT_SYMBOL_GPL(rt2x00mmio_flush_queue); EXPORT_SYMBOL_GPL(rt2x00mmio_flush_queue);
......
...@@ -517,7 +517,7 @@ void rt2x00usb_flush_queue(struct data_queue *queue, bool drop) ...@@ -517,7 +517,7 @@ void rt2x00usb_flush_queue(struct data_queue *queue, bool drop)
* Wait for a little while to give the driver * Wait for a little while to give the driver
* the oppurtunity to recover itself. * the oppurtunity to recover itself.
*/ */
msleep(10); msleep(50);
} }
} }
EXPORT_SYMBOL_GPL(rt2x00usb_flush_queue); EXPORT_SYMBOL_GPL(rt2x00usb_flush_queue);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment