I suspected you had ... :-)
> hub_thread got a disconnect event, called usb_disconnect,
> which tried to call driver->disconnect, which wasn't there
> due to using __devexit without CONFIG_HOTPLUG defined.
Ah, and <linux/init.h> moved the __devexit code into the
"__exit" segment, which got removed because clearly such
devices could never get removed (no hotplugging).
> > Have we identified anything that actually does anything with
> > code labeled __dev{in,ex}it (or data), beyond putting it into
> > a different section? If so, what's it doing?
>
> That's a great question. I'd like to know the answer also.
(Calling it and oopsing ... sorry, wrong answer! :-)
> Then we can see what the correct fixes should be.
> This patch could just be a short-lived 2.4.0-prerel
> fix-the-oops patch.
Put it into 2.4.0-next, sure.
I suspect the simplest thing is to say that no USB devices
should use those __dev{in,ex}it #defines ... we'd suspected
they were harmless; evidently not.
- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/