> > - ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ > You should not remove the ehci_readl call above. With that line gone, > the PCI bus might not send the new value of configured_flag to the > controller until after the 5-ms sleep has ended, which makes the msleep > useless. Could not find reads from USBCMD in similar drivers (for example here: https://github.com/NetBSD/src/blob/trunk/sys/dev/usb/ehci.c#L625). Is this feature (reading from USBCMD for unblocking posted writes) documented anywhere or it is found empirically? -- Eugene