Messages in this thread | | | Date | Sat, 14 Jan 2012 06:49:38 -0800 | From | Greg KH <> | Subject | Re: x86/mce: machine check warning during poweroff |
| |
On Fri, Jan 13, 2012 at 06:53:04PM -0800, Linus Torvalds wrote: > On Fri, Jan 13, 2012 at 6:41 PM, Srivatsa S. Bhat > <srivatsa.bhat@linux.vnet.ibm.com> wrote: > > > > YES!! Finally I have a fix for this whole MCE thing! :-) > > Goodie. > > > The patch below works perfectly for me - I tested multiple CPU hotplug > > operations as well as multiple pm_test runs at core level. Please let me > > know if this solves the suspend issue as well.. > > Ok, I'll try, and I bet it does. > > HOWEVER. > > I'd be a whole lot happier knowing exactly which field in "struct > device" that needed to be NULL before it gets registered. > > I don't like how > > device_register() + device_create_file(dev).. > > is not sufficiently undone by > > .. device_remove_file(dev) + device_unregister() > > so that it can't be repeated. Exactly *what* state is stale and > re-used incorrectly if you do that device_register() a second time. > > It smells like a misfeature of the device core handling.
It has to do with the fact that this is a "static" device that is being reused. Normally it would be cleaned up properly in the release function, but as there isn't one, some fields are being left in a bad state.
I'll look into this Sunday better when I have the chance, I'm currently on the road until late tonight, skiing, and it's hard to write patches from a chair lift...
thanks,
greg k-h
| |