[lm-sensors] [PATCH] x86/hwmon: fix module init for hotplug-but-no-device-found case
JBeulich at novell.com
Tue Sep 14 10:19:44 CEST 2010
>>> On 14.09.10 at 09:46, Chen Gong <gong.chen at linux.intel.com> wrote:
> 于 9/14/2010 2:47 PM, Jan Beulich 写道:
>>>>> On 14.09.10 at 08:30, Chen Gong<gong.chen at linux.intel.com> wrote:
>>> 于 9/13/2010 6:05 PM, Jan Beulich 写道:
>>>> In commit 0dca94baeab4a1a514841b0a4c8e3a51dfb4d5ae the call to
>>>> platform_driver_unregister() was made conditional upon !HOTPLUG_CPU,
>>>> but the return value from coretemp_init() was left to indicate an
>>>> error. This isn't correct, as the negative return value indicates to
>>>> the module loader that initialization failed, which isn't intended
>>> only !HOTPLUG_CPU can remove the driver. That is what we need to do
>>> because under the hotplug condition, we need to consider those "offline"
>>> cpus. I don't understand what you are afraid. Can you give me a scinario ?
>> If the driver's init routine returns -ENODEV (like is the case without this
>> change when HOTPLUG_CPU is enabled and there is no device found),
>> the platform driver will remain registered, yet the driver memory will
>> get freed (leaving dangling pointers into the driver's former image). Or
> Under this condition, I can't fine who frees the memory of the platform
I'm not talking about the control structure, but about the driver's
code and data.
>> in other words - when leaving the driver registered, the return value
>> of the init function must be zero.
> Is it mandotary or just some kind of convention ?
More information about the lm-sensors