diff options
author | Justin M. Forbes <jforbes@redhat.com> | 2012-07-18 10:58:14 -0500 |
---|---|---|
committer | Justin M. Forbes <jforbes@redhat.com> | 2012-07-18 10:58:14 -0500 |
commit | d124b12e9bd77cf31538338ed25dc60927c460e2 (patch) | |
tree | 3e101c0b76c4c0c684b29377d749020bca1a9e3c /rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch | |
parent | d7721263f2c8320baef26e9e2efaa37420e0b065 (diff) | |
download | kernel-d124b12e9bd77cf31538338ed25dc60927c460e2.tar.gz kernel-d124b12e9bd77cf31538338ed25dc60927c460e2.tar.xz kernel-d124b12e9bd77cf31538338ed25dc60927c460e2.zip |
Linux v3.5-rc7-81-ga018540
Diffstat (limited to 'rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch')
-rw-r--r-- | rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch b/rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch deleted file mode 100644 index 76b83cca4..000000000 --- a/rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch +++ /dev/null @@ -1,43 +0,0 @@ -From e899a84a6e9bec0ce653713a48ca121cd754430c Mon Sep 17 00:00:00 2001 -From: Stanislaw Gruszka <sgruszka@redhat.com> -Date: Mon, 2 Jul 2012 09:42:14 +0200 -Subject: [PATCH] rt2x00usb: fix indexes ordering on RX queue kick - -On rt2x00_dmastart() we increase index specified by Q_INDEX and on -rt2x00_dmadone() we increase index specified by Q_INDEX_DONE. So entries -between Q_INDEX_DONE and Q_INDEX are those we currently process in the -hardware. Entries between Q_INDEX and Q_INDEX_DONE are those we can -submit to the hardware. - -According to that fix rt2x00usb_kick_queue(), as we need to submit rx -entries that are not processed by the hardware. It worked before only -for empty queue, otherwise was broken. - -Note that for TX queues indexes ordering are ok. We need to kick entries -that have filled skb, but was not submitted to the hardware, i.e. -strted from Q_INDEX_DONE and have ENTRY_DATA_PENDING bit set. - -From practical standpoint this patch fixes AP mode connection hangs. - -Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> ---- - drivers/net/wireless/rt2x00/rt2x00usb.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c -index d357d1e..74ecc33 100644 ---- a/drivers/net/wireless/rt2x00/rt2x00usb.c -+++ b/drivers/net/wireless/rt2x00/rt2x00usb.c -@@ -436,8 +436,8 @@ void rt2x00usb_kick_queue(struct data_queue *queue) - case QID_RX: - if (!rt2x00queue_full(queue)) - rt2x00queue_for_each_entry(queue, -- Q_INDEX_DONE, - Q_INDEX, -+ Q_INDEX_DONE, - NULL, - rt2x00usb_kick_rx_entry); - break; --- -1.7.1 - |