Re: BUG: unable to handle kernel paging request in usb_match_id()

From: Greg Kroah-Hartman
Date: Fri Aug 17 2012 - 09:46:11 EST


On Fri, Aug 17, 2012 at 08:16:15PM +0800, Ming Lei wrote:
> On Fri, Aug 17, 2012 at 6:24 PM, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote:
> > On Fri, Aug 17, 2012 at 05:27:08PM +0800, Fengguang Wu wrote:
> >> Hi Bjørn,
> >>
> >> > -static const struct usb_device_id id_table[] __devinitconst = {
> >> > +static const struct usb_device_id id_table[] = {
> >>
> >> Good catch! It magically fixed the oops. So that id_table was
> >> freed sometime with __devinitconst?
> >>
> >> There are some more "usb_device_id .* __devinitconst" users in the system,
> >> Shall they be fixed as well?
>
> The issue should be triggered only when HOTPLUG is not set.
>
> But, if HOTPLUG is not enabled, should device_add() trigger driver probe
> further after kernel init is completed? Or even devices should be allowed
> to add into system?

Yes, it can, and should, because you can add them through sysfs.

I'll go fix these up, I really hate the __devinit* markings, they really
are pointless these days, and only cause problems :(

Thanks all for tracking this down.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/