aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Grehan <grehan@FreeBSD.org>2024-01-14 11:27:12 +0000
committerPeter Grehan <grehan@FreeBSD.org>2024-01-14 11:38:55 +0000
commit0c243cd4a3671bf728f33378ac593c08d8367bc2 (patch)
tree8c149fe3e915548bde7f18be2180c41d241a0a9f
parent353e4c5a068d06b0d6dcfa9eb736ecb16e9eae45 (diff)
downloadsrc-0c243cd4a3671bf728f33378ac593c08d8367bc2.tar.gz
src-0c243cd4a3671bf728f33378ac593c08d8367bc2.zip
Fix issue with Linux guest XHCI tablet probing.
The USB3 spec mandates that the device-descriptor max packet size be 512 bytes, which requires a field size of 9 since it is a power-of-2. Linux kernels recently started validating this field, resulting in the table not being probed and the cursor not working in bhyve VNC. Reviewed by: corvink PR: 275760 MFC after: 1 week
-rw-r--r--usr.sbin/bhyve/usb_mouse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/bhyve/usb_mouse.c b/usr.sbin/bhyve/usb_mouse.c
index 80f79980a98e..a37941c0cd9d 100644
--- a/usr.sbin/bhyve/usb_mouse.c
+++ b/usr.sbin/bhyve/usb_mouse.c
@@ -154,7 +154,7 @@ static struct usb_device_descriptor umouse_dev_desc = {
.bLength = sizeof(umouse_dev_desc),
.bDescriptorType = UDESC_DEVICE,
MSETW(.bcdUSB, UD_USB_3_0),
- .bMaxPacketSize = 8, /* max packet size */
+ .bMaxPacketSize = 9, /* max pkt size, 2^9 = 512 */
MSETW(.idVendor, 0xFB5D), /* vendor */
MSETW(.idProduct, 0x0001), /* product */
MSETW(.bcdDevice, 0), /* device version */