Module Name: src Committed By: macallan Date: Fri Oct 1 21:09:50 UTC 2021
Modified Files: src/sys/dev/usb: usb_quirks.c usb_quirks.h Log Message: add a quirk for devices that need ums::sc_alwayson To generate a diff of this commit: cvs rdiff -u -r1.98 -r1.99 src/sys/dev/usb/usb_quirks.c cvs rdiff -u -r1.29 -r1.30 src/sys/dev/usb/usb_quirks.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/usb/usb_quirks.c diff -u src/sys/dev/usb/usb_quirks.c:1.98 src/sys/dev/usb/usb_quirks.c:1.99 --- src/sys/dev/usb/usb_quirks.c:1.98 Tue Aug 17 22:00:32 2021 +++ src/sys/dev/usb/usb_quirks.c Fri Oct 1 21:09:50 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: usb_quirks.c,v 1.98 2021/08/17 22:00:32 andvar Exp $ */ +/* $NetBSD: usb_quirks.c,v 1.99 2021/10/01 21:09:50 macallan Exp $ */ /* $FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.30 2003/01/02 04:15:55 imp Exp $ */ /* @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: usb_quirks.c,v 1.98 2021/08/17 22:00:32 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: usb_quirks.c,v 1.99 2021/10/01 21:09:50 macallan Exp $"); #ifdef _KERNEL_OPT #include "opt_usb.h" @@ -383,6 +383,23 @@ Static const struct usbd_quirk_entry { { UQ_DESC_CORRUPT | UQ_MISS_OUT_ACK, desc_pn533 }}, { USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_SCL3712, ANY, { UQ_DESC_CORRUPT | UQ_MISS_OUT_ACK, desc_pn533 }}, + +/* + * These cheap mice will disconnect after 60 seconds, + * reconnect, and then disconnect again (ad nauseum) + * unless it's kept open. + */ + { USB_VENDOR_CHICONY, USB_PRODUCT_CHICONY_OPTMOUSE0939, ANY, + { UQ_ALWAYS_ON, NULL }}, + { USB_VENDOR_PIXART, USB_PRODUCT_PIXART_RPIMOUSE, ANY, + { UQ_ALWAYS_ON, NULL }}, +/* + * The HAILUCK USB Keyboard has a built-in touchpad, which + * needs to be active for the keyboard to function properly. + */ + { USB_VENDOR_HAILUCK, USB_PRODUCT_HAILUCK_KEYBOARD, ANY, + { UQ_ALWAYS_ON, NULL }}, + { 0, 0, 0, { 0, NULL } } }; Index: src/sys/dev/usb/usb_quirks.h diff -u src/sys/dev/usb/usb_quirks.h:1.29 src/sys/dev/usb/usb_quirks.h:1.30 --- src/sys/dev/usb/usb_quirks.h:1.29 Thu Nov 15 02:35:23 2018 +++ src/sys/dev/usb/usb_quirks.h Fri Oct 1 21:09:50 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: usb_quirks.h,v 1.29 2018/11/15 02:35:23 manu Exp $ */ +/* $NetBSD: usb_quirks.h,v 1.30 2021/10/01 21:09:50 macallan Exp $ */ /* $FreeBSD: src/sys/dev/usb/usb_quirks.h,v 1.9 1999/11/12 23:31:03 n_hibma Exp $ */ /* @@ -51,6 +51,7 @@ struct usbd_quirks { #define UQ_APPLE_ISO 0x20000 /* force ISO layout on Apple keyboards */ #define UQ_DESC_CORRUPT 0x40000 /* may corrupt its config descriptors */ #define UQ_MISS_OUT_ACK 0x80000 /* may fail to ack output */ +#define UQ_ALWAYS_ON 0x100000 /* for mice that keep disconnecting */ const usb_descriptor_t **desc; /* Replacement for UQ_DESC_CORRUPT */ };