[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C8F167E.40506@linux.intel.com>
Date: Tue, 14 Sep 2010 14:30:22 +0800
From: Chen Gong <gong.chen@...ux.intel.com>
To: Jan Beulich <JBeulich@...ell.com>
CC: fenghua.yu@...el.com, khali@...ux-fr.org,
linux-kernel@...r.kernel.org, lm-sensors@...sensors.org
Subject: Re: [lm-sensors] [PATCH] x86/hwmon: fix module init for hotplug-but-no-device-found
case
δΊ 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 ?
> here and results in dangling pointers.
>
> Signed-off-by: Jan Beulich<jbeulich@...ell.com>
> Cc: Chen Gong<gong.chen@...ux.intel.com>
>
> ---
> drivers/hwmon/coretemp.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> --- linux-2.6.36-rc4/drivers/hwmon/coretemp.c 2010-09-13 08:45:02.000000000 +0200
> +++ 2.6.36-rc4-x86-coretemp-hotplug-init-return/drivers/hwmon/coretemp.c 2010-09-03 17:54:14.000000000 +0200
> @@ -541,16 +541,19 @@ static int __init coretemp_init(void)
> " has no thermal sensor.\n", c->x86_model);
> }
> }
> +
> +#ifndef CONFIG_HOTPLUG_CPU
> if (list_empty(&pdev_list)) {
> err = -ENODEV;
> goto exit_driver_unreg;
> }
> +#endif
>
> register_hotcpu_notifier(&coretemp_cpu_notifier);
> return 0;
>
> -exit_driver_unreg:
> #ifndef CONFIG_HOTPLUG_CPU
> +exit_driver_unreg:
> platform_driver_unregister(&coretemp_driver);
> #endif
> exit:
>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists