lkml.org 
[lkml]   [2009]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
SubjectRe: microcode driver newly spews warnings
From
2009/4/15 Jeff Garzik <jeff@garzik.org>:
> Ingo Molnar wrote:
>>
>> (added Cc:s)
>>
>> * Jeff Garzik <jeff@garzik.org> wrote:
>>
>>> Jeff Garzik wrote:
>>>>
>>>> Kernel: 2.6.30-rc1-00306-g8371f87
>>>> Hardware: ICH10 x86-64
>>>>
>>>> This is a regression from 2.6.29. Microcode spews the following WARNING
>>>> multiple times during boot:
>>>>
>>>>> ------------[ cut here ]------------
>>>>> WARNING: at fs/sysfs/group.c:138 sysfs_remove_group+0xeb/0xf0()
>>>>> Hardware name: sysfs group ffffffffa0209700 not found for
>>>>> kobject 'cpu0'
>
>
> Update: Regression occurs in 2.6.30-rc2.
>
> I've now reproduced this on ICH9/Core2 as well as ICH10/Nahelem.

Hi,


the following patch should eliminate the problem (and revert to the
old behavior that was altered by Rusty's patch).

btw., is the upgrade done with the help of some microcode startup
script? I wonder why it decides to unload the microcode module (what
kind of checks it does to take this decision)...

(non-whitespace-damaged version is enclosed. I appologize for the
inconvenience, don't have a proper e-mail client at hand)


---
Keep sysfs files around for cpus even when we failed to locate
microcode for them at the moment of module loading. The appropriate
microcode firmware can become available later on.


--- arch/x86/kernel/microcode_core-orig.c 2009-04-15
10:34:25.000000000 +0200
+++ arch/x86/kernel/microcode_core.c 2009-04-15
16:27:51.000000000 +0200
@@ -380,8 +380,6 @@ static int mc_sysdev_add(struct sys_devi
return err;

err = microcode_init_cpu(cpu);
- if (err)
- sysfs_remove_group(&sys_dev->kobj, &mc_attr_group);

return err;
}

>
> Jeff
>

--
Best regards,
Dmitry Adamushko
--- arch/x86/kernel/microcode_core-orig.c 2009-04-15 10:34:25.000000000 +0200
+++ arch/x86/kernel/microcode_core.c 2009-04-15 16:27:51.000000000 +0200
@@ -380,8 +380,6 @@ static int mc_sysdev_add(struct sys_devi
return err;

err = microcode_init_cpu(cpu);
- if (err)
- sysfs_remove_group(&sys_dev->kobj, &mc_attr_group);

return err;
}
\
 
 \ /
  Last update: 2009-04-15 16:55    [from the cache]
©2003-2011 Jasper Spaans