rt2x00: rt2800usb: limit tx queues length
authorStanislaw Gruszka <sgruszka@redhat.com>
Wed, 14 Mar 2012 10:16:21 +0000 (11:16 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 15 Mar 2012 17:40:33 +0000 (13:40 -0400)
TX status fifo is limited to 16 elements. When we send more frames than
that, we can easily loose status, what is not good for rate scaling
algorithm.

On my testing the change does not degrade performance, actually make
is slightly better. Additionally with the patch I can see much less
various rt2x00 warnings in dmesg.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2800usb.c

index 8c1d2c0..cd490ab 100644 (file)
@@ -870,7 +870,7 @@ static const struct data_queue_desc rt2800usb_queue_rx = {
 };
 
 static const struct data_queue_desc rt2800usb_queue_tx = {
-       .entry_num              = 64,
+       .entry_num              = 16,
        .data_size              = AGGREGATION_SIZE,
        .desc_size              = TXINFO_DESC_SIZE + TXWI_DESC_SIZE,
        .priv_size              = sizeof(struct queue_entry_priv_usb),