svn commit: r361778 - head/sys/dev/usb/wlan
Adrian Chadd
adrian at FreeBSD.org
Wed Jun 3 22:30:44 UTC 2020
Author: adrian
Date: Wed Jun 3 22:30:44 2020
New Revision: 361778
URL: https://svnweb.freebsd.org/changeset/base/361778
Log:
[run] Fix up tx/rx frame size.
This specifically fixes that TX frames are large enough now to hold a 3900 odd
byte AMSDU (the little ones); me flipping it on earlier messed up transmit!
Tested:
* if_run, STA mode, TX/RX TCP/UDP iperf. TCP is now back to normal and
correctly does ~ 3200 byte AMSDU/fast frames (2x1600ish byte MSDUs).
Modified:
head/sys/dev/usb/wlan/if_run.c
head/sys/dev/usb/wlan/if_runvar.h
Modified: head/sys/dev/usb/wlan/if_run.c
==============================================================================
--- head/sys/dev/usb/wlan/if_run.c Wed Jun 3 22:19:52 2020 (r361777)
+++ head/sys/dev/usb/wlan/if_run.c Wed Jun 3 22:30:44 2020 (r361778)
@@ -3050,10 +3050,11 @@ run_bulk_rx_callback(struct usb_xfer *xfer, usb_error_
tr_setup:
if (sc->rx_m == NULL) {
sc->rx_m = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR,
- MJUMPAGESIZE /* xfer can be bigger than MCLBYTES */);
+ RUN_MAX_RXSZ);
}
if (sc->rx_m == NULL) {
- RUN_DPRINTF(sc, RUN_DEBUG_RECV | RUN_DEBUG_RECV_DESC,
+ RUN_DPRINTF(sc, RUN_DEBUG_RECV |
+ RUN_DEBUG_RECV_DESC | RUN_DEBUG_USB,
"could not allocate mbuf - idle with stall\n");
counter_u64_add(ic->ic_ierrors, 1);
usbd_xfer_set_stall(xfer);
Modified: head/sys/dev/usb/wlan/if_runvar.h
==============================================================================
--- head/sys/dev/usb/wlan/if_runvar.h Wed Jun 3 22:19:52 2020 (r361777)
+++ head/sys/dev/usb/wlan/if_runvar.h Wed Jun 3 22:30:44 2020 (r361778)
@@ -23,14 +23,15 @@
#ifndef _IF_RUNVAR_H_
#define _IF_RUNVAR_H_
+/* Support up to 4KB frames - useful for A-MSDU/FF. */
#define RUN_MAX_RXSZ \
MIN(4096, MJUMPAGESIZE)
-/* NB: "11" is the maximum number of padding bytes needed for Tx */
+/* Support up to 8KB frames - useful for A-MSDU/FF. */
#define RUN_MAX_TXSZ \
(sizeof (struct rt2870_txd) + \
sizeof (struct rt2860_txwi) + \
- MCLBYTES + 11)
+ 8192 + 11)
#define RUN_TX_TIMEOUT 5000 /* ms */
More information about the svn-src-all
mailing list