On Tue, Sep 14, 2010 at 08:13:00PM -0400, Fenghua Yu wrote: > On Mon, Sep 13, 2010 at 03:11:05AM -0700, Jan Beulich wrote: > > pkgtemp_device_remove(), holding the list protecting mutex, calls > > pkgtemp_device_add(), which itself wants to acquire the same mutex. > > Holding the mutex over the entire loop body in pkgtemp_device_remove() > > isn't really necessary, as long as the loop gets exited after > > processing the matched CPU. > > > > Once exiting the loop after removing an eventual match, there's no > > need for using the "safe" list iterator anymore. > > > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> > > Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> > > > > --- > > drivers/hwmon/pkgtemp.c | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > --- linux-2.6.36-rc4/drivers/hwmon/pkgtemp.c 2010-09-13 08:45:03.000000000 +0200 > > +++ 2.6.36-rc4-x86-pkgtemp-remove-deadlock/drivers/hwmon/pkgtemp.c 2010-09-03 17:54:30.000000000 +0200 > > @@ -339,17 +339,18 @@ exit: > > #ifdef CONFIG_HOTPLUG_CPU > > static void pkgtemp_device_remove(unsigned int cpu) > > I already sent a fix patch before. I'll push it to Linus. > Guess it got lost. Re-sending it might have helped, or adding an Acked-by to this patch. Guenter _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors