From 2ee407b6068a994bba45597c995c5ea76eec9cf3 Mon Sep 17 00:00:00 2001 From: Peter Grehan Date: Sun, 14 Jan 2024 21:27:12 +1000 Subject: [PATCH] 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. PR: 275760 (cherry picked from commit 0c243cd4a3671bf728f33378ac593c08d8367bc2) --- usr.sbin/bhyve/usb_mouse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/usb_mouse.c b/usr.sbin/bhyve/usb_mouse.c index 80f79980a98..a37941c0cd9 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 */