Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F175746145
D58004.id189664.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D58004.id189664.diff
View Options
diff --git a/share/man/man4/usb_quirk.4 b/share/man/man4/usb_quirk.4
--- a/share/man/man4/usb_quirk.4
+++ b/share/man/man4/usb_quirk.4
@@ -58,6 +58,8 @@
bad audio spec version number
.It UQ_BAD_AUDIO
device claims audio class, but is not
+.It UQ_BAD_REMOTE_WAKEUP
+device advertises remote wakeup, but it does not work
.It UQ_BROKEN_BIDIR
printer has broken bidir mode
.It UQ_BUS_POWERED
diff --git a/sys/dev/usb/quirk/usb_quirk.h b/sys/dev/usb/quirk/usb_quirk.h
--- a/sys/dev/usb/quirk/usb_quirk.h
+++ b/sys/dev/usb/quirk/usb_quirk.h
@@ -45,6 +45,7 @@
UQ_AU_NO_XU, /* audio device has broken extension unit */
UQ_BAD_ADC, /* bad audio spec version number */
UQ_BAD_AUDIO, /* device claims audio class, but isn't */
+ UQ_BAD_REMOTE_WAKEUP, /* advertised remote wakeup is broken */
UQ_BROKEN_BIDIR, /* printer has broken bidir mode */
UQ_BUS_POWERED, /* device is bus powered, despite claim */
UQ_HID_IGNORE, /* device should be ignored by hid class */
diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c
--- a/sys/dev/usb/quirk/usb_quirk.c
+++ b/sys/dev/usb/quirk/usb_quirk.c
@@ -111,6 +111,7 @@
USB_QUIRK(ELSA, MODEM1, UQ_CFG_INDEX_1),
USB_QUIRK(PLANEX2, MZKUE150N, UQ_CFG_INDEX_1),
USB_QUIRK(CISCOLINKSYS, USB3GIGV1, UQ_CFG_INDEX_1),
+ USB_QUIRK(ASM2, ASM1074_SS, UQ_BAD_REMOTE_WAKEUP),
/* Quirks for printer devices */
USB_QUIRK(HP, 895C, UQ_BROKEN_BIDIR),
USB_QUIRK(HP, 880C, UQ_BROKEN_BIDIR),
@@ -592,6 +593,7 @@
[UQ_AU_NO_XU] = "UQ_AU_NO_XU",
[UQ_BAD_ADC] = "UQ_BAD_ADC",
[UQ_BAD_AUDIO] = "UQ_BAD_AUDIO",
+ [UQ_BAD_REMOTE_WAKEUP] = "UQ_BAD_REMOTE_WAKEUP",
[UQ_BROKEN_BIDIR] = "UQ_BROKEN_BIDIR",
[UQ_BUS_POWERED] = "UQ_BUS_POWERED",
[UQ_HID_IGNORE] = "UQ_HID_IGNORE",
diff --git a/sys/dev/usb/usb_device.h b/sys/dev/usb/usb_device.h
--- a/sys/dev/usb/usb_device.h
+++ b/sys/dev/usb/usb_device.h
@@ -95,6 +95,7 @@
uint8_t no_strings:1; /* set if USB device does not support
* strings */
uint8_t remote_wakeup:1; /* set if remote wakeup is enabled */
+ uint8_t uq_bad_remote_wakeup:1; /* set if remote wakeup is broken */
uint8_t uq_bus_powered:1; /* set if BUS powered quirk is present */
/*
diff --git a/sys/dev/usb/usb_device.c b/sys/dev/usb/usb_device.c
--- a/sys/dev/usb/usb_device.c
+++ b/sys/dev/usb/usb_device.c
@@ -1966,6 +1966,9 @@
*/
usb_init_attach_arg(udev, &uaa);
+ if (usb_test_quirk(&uaa, UQ_BAD_REMOTE_WAKEUP)) {
+ udev->flags.uq_bad_remote_wakeup = 1;
+ }
if (usb_test_quirk(&uaa, UQ_BUS_POWERED)) {
udev->flags.uq_bus_powered = 1;
}
@@ -2865,7 +2868,9 @@
const struct usb_config_descriptor *cdp;
cdp = udev->cdesc;
- if ((cdp != NULL) && (udev->flags.usb_mode == USB_MODE_HOST)) {
+ if ((cdp != NULL) &&
+ (udev->flags.usb_mode == USB_MODE_HOST) &&
+ (udev->flags.uq_bad_remote_wakeup == 0)) {
return (cdp->bmAttributes & UC_REMOTE_WAKEUP);
}
return (0); /* not supported */
diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs
--- a/sys/dev/usb/usbdevs
+++ b/sys/dev/usb/usbdevs
@@ -705,6 +705,7 @@
vendor AXESSTEL 0x1726 Axesstel Co., Ltd.
vendor LINKSYS4 0x1737 Linksys
vendor SENAO 0x1740 Senao
+vendor ASM2 0x174c ASMedia Technology
vendor ASUS2 0x1761 ASUS
vendor SWEEX2 0x177f Sweex
vendor METAGEEK 0x1781 MetaGeek
@@ -1285,6 +1286,9 @@
product ASIX AX88772B 0x772b AX88772B USB 2.0 10/100 Ethernet
product ASIX AX88772B_1 0x7e2b AX88772B USB 2.0 10/100 Ethernet
+/* ASMedia products */
+product ASM2 ASM1074_SS 0x3074 ASM1074 SuperSpeed Hub
+
/* ASUS products */
product ASUS2 USBN11 0x0b05 USB-N11
product ASUS RT2570 0x1706 RT2500USB Wireless Adapter
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Oct 14, 12:03 AM (13 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40776737
Default Alt Text
D58004.id189664.diff (3 KB)
Attached To
Mode
D58004: usb_quirk: implement bad remote wakeup and add ASM1074 SS
Attached
Detach File
Event Timeline
Log In to Comment