Bug 291

Summary: Compiled in USB does not implement shutdown
Product: Drivers Reporter: Jon Smirl (jonsmirl)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: REJECTED WILL_NOT_FIX    
Severity: normal    
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.5.59 Subsystem:
Regression: --- Bisected commit-id:

Description Jon Smirl 2003-01-24 10:49:07 UTC
When shutting down a kernel with compiled in USB support, the USB subsystem does
not implement a shutdown procedure.  On normal hardware this doesn't matter, but
it doesn't work under UML. UML runs the kernel as a process, so when UML exits
the host OS is still running. The USB subsystem must reset it's hardware at UML
shutdown otherwise active DMA channels may be left running after their device
drivers are freed. UML implements the standard device->shutdown or reboot
notifier schemes, USB just isn't listening.

UML is being modified to directly run device drivers like USB on unused hardware
in the host.
Comment 1 Greg Kroah-Hartman 2003-03-20 13:45:04 UTC
The kernel needs to call all module_exit() functions on shutdown to fix
this kind of "problem".  It is not a USB specific problem.