tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[patch] xhci patch 20150923
Hello,
Here are xhci patches for nick-nhusb branch.
nhusb-xhcireg_h.diff
+ Fix the name of multiple inclusion protection.
nhusb-uhub_c.diff
+ Fix devices were not recognized at boot on some xhci
(AFAIK Intel PCHs).
--
t-hash
--- sys/dev/usb/xhcireg.h.orig 2015-09-13 18:38:00.000000000 +0900
+++ sys/dev/usb/xhcireg.h 2015-09-13 18:53:03.000000000 +0900
@@ -26,8 +26,8 @@
* SUCH DAMAGE.
*/
-#ifndef _XHCIREG_H_
-#define _XHCIREG_H_
+#ifndef _DEV_USB_XHCIREG_H_
+#define _DEV_USB_XHCIREG_H_
/* XHCI PCI config registers */
#define PCI_CBMEM 0x10 /* configuration base MEM */
@@ -470,4 +470,4 @@ struct xhci_erste {
} __packed __aligned(XHCI_ERSTE_ALIGN);
#define XHCI_ERSTE_SIZE sizeof(struct xhci_erste)
-#endif /* _XHCIREG_H_ */
+#endif /* _DEV_USB_XHCIREG_H_ */
--- sys/dev/usb/uhub.c.orig 2015-06-07 01:42:33.000000000 +0900
+++ sys/dev/usb/uhub.c 2015-09-22 19:45:06.000000000 +0900
@@ -587,6 +587,13 @@ uhub_explore(struct usbd_device *dev)
}
}
if (change & UPS_C_PORT_RESET) {
+ /*
+ * some xHCs set PortResetChange instead of CSC
+ * when port is reset.
+ */
+ if ((status & UPS_CURRENT_CONNECT_STATUS) != 0) {
+ change |= UPS_C_CONNECT_STATUS;
+ }
usbd_clear_port_feature(dev, port, UHF_C_PORT_RESET);
}
if (change & UPS_C_BH_PORT_RESET) {
Home |
Main Index |
Thread Index |
Old Index