USB newbus livelock

Andrew Thompson andy at fud.org.nz
Tue Aug 18 13:04:28 UTC 2009


Hi Attilio,


At the moment usb controller modules can not be unloaded due to a
newbus locking problem, roughly...

# kldunload ehci
syscall()
driver_module_handler()
  --> newbus xlock (subr_bus.c:4127)
usb_detach()
usb_proc_mwait()  <- wakeup, detach and drain the usb thread


[usb thread, detaching...]
usb_bus_detach()
 --> newbus xlock  (livelock, the kldunload process has this)

Hans has made some changes WRT this, perforce changes 167093 and
possibly 167087. Do you want to review this or maybe go for a similar
fix?


cheers,
Andrew


More information about the freebsd-current mailing list