Page MenuHomeFreeBSD

D50049.diff
No OneTemporary

D50049.diff

diff --git a/sys/dev/rtwn/usb/rtwn_usb_rx.c b/sys/dev/rtwn/usb/rtwn_usb_rx.c
--- a/sys/dev/rtwn/usb/rtwn_usb_rx.c
+++ b/sys/dev/rtwn/usb/rtwn_usb_rx.c
@@ -124,10 +124,15 @@
if (rtwn_rx_check_pre_alloc(sc, stat) != 0)
goto fail;
- m = m_get2(totlen, M_NOWAIT, MT_DATA, M_PKTHDR);
+ /*
+ * Note: this can require >4 KiB (eg de-aggregating an A-MSDU
+ * from an USB frame. See kern/286366 for more information.
+ */
+ m = m_get3(totlen, M_NOWAIT, MT_DATA, M_PKTHDR);
if (__predict_false(m == NULL)) {
- device_printf(sc->sc_dev, "%s: could not allocate RX mbuf\n",
- __func__);
+ device_printf(sc->sc_dev,
+ "%s: could not allocate RX mbuf (%d bytes)\n",
+ __func__, totlen);
goto fail;
}

File Metadata

Mime Type
text/plain
Expires
Fri, May 2, 3:02 AM (8 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17835259
Default Alt Text
D50049.diff (724 B)

Event Timeline