Re: [PATCH] Fix microcode-related suspend problem



On Sat, 31 Mar 2007 22:04:15 +0200 "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:

This patch appeard on LMKL six days ago and there have not been any negative
comments since then, so I think I can try to make it official.

---
From: Rafael J. Wysocki <rjw@xxxxxxx>

Fix the regression resulting from the recent change of suspend code ordering
that causes systems based on Intel x86 CPUs using the microcode driver to
hang during the resume.

The problem occurs since the microcode driver uses request_firmware() in its
CPU hotplug notifier, which is called after tasks has been frozen and hangs.
It can be fixed by telling the microcode driver to use the microcode stored in
memory during the resume instead of trying to load it from disk.

CONFIG_SMP=n:

arch/i386/kernel/microcode.c: In function 'microcode_init_cpu':
arch/i386/kernel/microcode.c:628: error: 'suspend_cpu_hotplug' undeclared (first use in this function)
arch/i386/kernel/microcode.c:628: error: (Each undeclared identifier is reported only once
arch/i386/kernel/microcode.c:628: error: for each function it appears in.)
arch/i386/kernel/microcode.c: In function 'mc_sysdev_add':
arch/i386/kernel/microcode.c:717: error: 'suspend_cpu_hotplug' undeclared (first use in this function)
arch/i386/kernel/microcode.c: In function 'mc_sysdev_remove':
arch/i386/kernel/microcode.c:745: error: 'suspend_cpu_hotplug' undeclared (first use in this function)

Given this, and the overall intrusiveness of the change, I'd worry about
trying to get this into 2.6.21.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/