Re: [PATCH] x86/hwmon: fix module init for hotplug-but-no-device-found case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



于 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@xxxxxxxxxx>
Cc: Chen Gong<gong.chen@xxxxxxxxxxxxxxx>

---
  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:





_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux