From dd90a96b5fd4b3bcf4984e6e707c312446ec67b5 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 28 Aug 2025 13:42:54 -0400 Subject: [PATCH] freebsd_network: Fix assertion in usbd_xfer_set_frame_len. Setting the length of a frame outside the current xfer frame count (but less than the maximum count) is allowed on FreeBSD. Fixes a KDL encountered with the FreeBSD version of the ASIX USB ethernet driver. --- src/libs/compat/freebsd_network/usb.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/compat/freebsd_network/usb.cpp b/src/libs/compat/freebsd_network/usb.cpp index 2b857aad0c..aa0f47f8d9 100644 --- a/src/libs/compat/freebsd_network/usb.cpp +++ b/src/libs/compat/freebsd_network/usb.cpp @@ -420,7 +420,7 @@ extern "C" void usbd_xfer_set_frame_len(struct usb_xfer* xfer, usb_frcount_t frindex, usb_frlength_t len) { - KASSERT(frindex < uint32_t(xfer->nframes), ("frame index overflow")); + KASSERT(frindex < uint32_t(xfer->max_frame_count), ("frame index overflow")); KASSERT(len <= uint32_t(xfer->max_data_length), ("length overflow")); // Trigger buffer allocation if necessary.