DragonFlyBSD Kernel Audit
DF-0985 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/bus/u4b/wlan/if_mtw.c b/sys/bus/u4b/wlan/if_mtw.c
--- a/sys/bus/u4b/wlan/if_mtw.c
+++ b/sys/bus/u4b/wlan/if_mtw.c
@@ -1063,6 +1063,8 @@
 	blksz = 0x2000;
 	if (sc->asic_ver == 0x7612 && offset >= 0x90000)
 		blksz = 0x800; /* MT7612 ROM Patch */
+	/* DF-0985: cap transfer to the firmware TX buffer capacity. */
+	blksz = MIN(blksz, MTW_MAX_TXSZ - sizeof(struct mtw_txd_fw));
 
 	sent = 0;
 	for (;;) {