Re: [PATCH 1/2] sysdev: Do not register with sysdev when erroringon add

From: Borislav Petkov
Date: Sun Jun 05 2011 - 08:16:16 EST


On Sun, Jun 05, 2011 at 07:07:34AM -0400, Brian Gerst wrote:
> On Tue, Feb 1, 2011 at 11:19 AM, Borislav Petkov <bp@xxxxxxxxx> wrote:
> > From: Borislav Petkov <borislav.petkov@xxxxxxx>
> >
> > When encountering an error while executing the driver's ->add method, we
> > should cancel registration and unwind what we've regged so far. The low
> > level ->add methods do return proper error codes but those aren't looked
> > at in sysdev_driver_register(). Fix that by sharing the unregistering
> > code.
>
> This patch is causing boot failures on a virtual machine running
> Fedora 15 32-bit. With this patch, the microcode driver repeatedly
> spews:
> microcode: CPU0: AMD CPU family 0x6 not supported
> modprobe: FATAL: Error inserting microcode: Invalid argument.
> until eventually causing an oops. Reverting this patch allows the
> boot to proceed.

Yeah, we had a similar issue with a K8 machine on Fedora:
https://bugzilla.kernel.org/show_bug.cgi?id=35522

Another fix would be if you remove the *microcode.rules in
/etc/udev/rules.d/ which tries to load the microcode driver
continuously. The funny thing is, this happens only on Fedora - all the
other distros simply get the -EINVAL from the driver failing to load
and that's it. I guess Fedora's udev doesn't accept the error value and
continues to try to load the module.

--
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
General Managers: Alberto Bozzo, Andrew Bowd
Registration: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
--
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/