kernel - Fix mountroot / usb diskkey race.
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 17 Jul 2015 03:21:11 +0000 (20:21 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 17 Jul 2015 03:21:11 +0000 (20:21 -0700)
commit67616947056b13e8c351500c64f1f3068fc89982
treedad506fe6e1e108de5c80afae6a65321136cd8b4
parented4c84f4151dacf2571aa685d302bd756a25d321
kernel - Fix mountroot / usb diskkey race.

* Use the intr_config_hook mechanism to prevent mountroot from running
  until all usb busses have completed two scans.  umass's CAM
  intr_config_hook will take over once umass is detected.

* Pull the hw.usb.xhci.use_polling tunable out of USB_DEBUG and make it work
  generally.  Setting this feature in /boot/loader.conf to 1 forces xhci to
  always poll.

  The polling rate is not the best in the world with this commit so do
  not expect good performance.  Only use if your USB doesn't work due to
  e.g. interrupt routing issues.
sys/bus/u4b/controller/usb_controller.c
sys/bus/u4b/controller/xhci.c
sys/bus/u4b/controller/xhci_pci.c
sys/bus/u4b/usb_bus.h