Re: [GIT PATCH] driver core merge for 3.3

From: Greg KH
Date: Fri Jan 13 2012 - 13:28:48 EST


On Fri, Jan 13, 2012 at 02:39:27AM +0100, Kay Sievers wrote:
> On Fri, Jan 13, 2012 at 02:11, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Fri, Jan 6, 2012 at 12:11 PM, Greg KH <gregkh@xxxxxxx> wrote:
> >>
> >> Big thing here, that caused all of the merge issues, is the removal of
> >> the sysdev code.  It has been long needed to be removed, Kay finally
> >> just did it, thankfully.  There are patches pending that take advantage
> >> of this, providing properly CPU hotplug driver loading support, that
> >> will have to wait until 3.4, as they didn't make the merge window in
> >> time.  Note, the sysdev code isn't removed from the tree just yet, to
> >> help catch any other tree that might not have noticed this in the
> >> linux-next merge process.  I'll send a follow-on patch after 3.3-rc1 is
> >> out that removes this code, after ensuring that no other in-tree code is
> >> using the sysdev structures.
> >
> > Hmm. I think this is the cause of one of the suspend/resume problems I'm seeing:
> >
> >   Device 'machinecheck3' does not have a releae() function, it is
> > broken and must be fixed
> >
> > that's the WARN_ON() in drivers/base/core.c (line 192), and it comes
> > from disable_nonboot_cpus() doing the whole device_unregister() thing.
> >
> > Afaik, it's arch/x86/kernel/cpu/mcheck/mce.c.
>
> I guess this kind of warning just did not exist for the old sysdev
> devices. The 'machinecheck' devices are DEFINE_PER_CPU(struct device,
> mce_device) devices, so we will probably just add a dummy release
> function, which might not fix the problem you are seeing.

Shouldn't we have a "real" release function here for when we remove
sysdev devices? The cpu hotplug code should remove them, as should
unloading the kernel module here.

Care to make up a patch?

thanks,

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/