git: 48214dfab801 - stable/13 - Fix issue with Linux guest XHCI tablet probing.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 28 Jan 2024 09:04:48 UTC
The branch stable/13 has been updated by grehan:
URL: https://cgit.FreeBSD.org/src/commit/?id=48214dfab80155c03b9b22aca9f9810774c151e9
commit 48214dfab80155c03b9b22aca9f9810774c151e9
Author: Peter Grehan <grehan@FreeBSD.org>
AuthorDate: 2024-01-14 11:27:12 +0000
Commit: Peter Grehan <grehan@FreeBSD.org>
CommitDate: 2024-01-28 09:03:25 +0000
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 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 */