Re: -tip: origin tree boot crash

From: Dmitry Torokhov
Date: Mon Dec 28 2009 - 15:17:31 EST


Hi Paul,

On Mon, Dec 28, 2009 at 05:53:01PM +0100, Paul Rolland wrote:
>
> Fixed this completely with the following two patches on top of 2.6.33-rc2 :
>
> --- wmi.c.orig 2009-12-28 17:27:15.000000000 +0100
> +++ wmi.c 2009-12-28 17:39:01.000000000 +0100
> @@ -488,12 +488,13 @@
> {
> struct wmi_block *block;
> acpi_status status;
> + bool err;
>
> if (!guid || !handler)
> return AE_BAD_PARAMETER;
>
> - find_guid(guid, &block);
> - if (!block)
> + err = find_guid(guid, &block);
> + if (!err)
> return AE_NOT_EXIST;
>
> if (block->handler)
> @@ -517,12 +518,13 @@
> {
> struct wmi_block *block;
> acpi_status status;
> + bool err;
>
> if (!guid)
> return AE_BAD_PARAMETER;
>
> - find_guid(guid, &block);
> - if (!block)
> + err = find_guid(guid, &block);
> + if (!err)
> return AE_NOT_EXIST;
>
> if (!block->handler)
>
> --- dell-wmi.c.orig 2009-12-28 17:49:09.000000000 +0100
> +++ dell-wmi.c 2009-12-28 17:41:36.000000000 +0100
> @@ -343,7 +343,7 @@
> printk(KERN_ERR
> "dell-wmi: Unable to register notify handler - %d\n",
> err);
> - return err;
> + return -err;

This still leaks AE_* error codes to the upper layers which do not care
for them and expect the errors from Exxxx namespace.

I wonder why wmi is not using standard error codes but instead decided
to come up with it's own.

--
Dmitry
--
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/