Module Name: src Committed By: msaitoh Date: Thu Nov 9 10:03:47 UTC 2017
Modified Files: src/sys/dev/usb: xhci.c Log Message: Wait 1ms first. Existing Intel xHCI requies 1ms delay to prevent system hang (Errata). XXX pullup-[78] To generate a diff of this commit: cvs rdiff -u -r1.75 -r1.76 src/sys/dev/usb/xhci.c 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/xhci.c diff -u src/sys/dev/usb/xhci.c:1.75 src/sys/dev/usb/xhci.c:1.76 --- src/sys/dev/usb/xhci.c:1.75 Sat Oct 28 00:37:13 2017 +++ src/sys/dev/usb/xhci.c Thu Nov 9 10:03:46 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: xhci.c,v 1.75 2017/10/28 00:37:13 pgoyette Exp $ */ +/* $NetBSD: xhci.c,v 1.76 2017/11/09 10:03:46 msaitoh Exp $ */ /* * Copyright (c) 2013 Jonathan A. Kollasch @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.75 2017/10/28 00:37:13 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.76 2017/11/09 10:03:46 msaitoh Exp $"); #ifdef _KERNEL_OPT #include "opt_usb.h" @@ -689,10 +689,14 @@ xhci_hc_reset(struct xhci_softc * const usbcmd = XHCI_CMD_HCRST; xhci_op_write_4(sc, XHCI_USBCMD, usbcmd); for (i = 0; i < XHCI_WAIT_HCRST; i++) { + /* + * Wait 1ms first. Existing Intel xHCI requies 1ms delay to + * prevent system hang (Errata). + */ + usb_delay_ms(&sc->sc_bus, 1); usbcmd = xhci_op_read_4(sc, XHCI_USBCMD); if ((usbcmd & XHCI_CMD_HCRST) == 0) break; - usb_delay_ms(&sc->sc_bus, 1); } if (i >= XHCI_WAIT_HCRST) { aprint_error_dev(sc->sc_dev, "host controller reset timeout\n");