From 0bb8848f51ca31175a81becf1c996cb0310f9293 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 28 Aug 2025 13:44:30 -0400 Subject: [PATCH] freebsd_network: Use endpoint max packet size for USB xfer data length if unset. This is what FreeBSD does. Needed for the upstream FreeBSD version of the "pegasus" driver. --- src/libs/compat/freebsd_network/usb.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/compat/freebsd_network/usb.cpp b/src/libs/compat/freebsd_network/usb.cpp index aa0f47f8d9..0007dc1a3a 100644 --- a/src/libs/compat/freebsd_network/usb.cpp +++ b/src/libs/compat/freebsd_network/usb.cpp @@ -316,6 +316,8 @@ usbd_transfer_setup(struct freebsd_usb_device* udev, continue; xfer->pipe = iface->endpoint[i].handle; + if (xfer->max_data_length == 0) + xfer->max_data_length = iface->endpoint[i].descr->max_packet_size; break; } if (xfer->pipe == -1)