Re: [PATCH] [RESUBMIT] Fix mute key on older Lenovo made Thinkpads by OSI blacklisting

Len Brown
2010-05-20T03:34:33Z

Hello Jerone,

Thanks for working to make Linux users with these systems happier.

As you know, we really really hate to add OSI(Linux) hooks
because the OSI string "Linux" is not an appropriate OSI string
as it doesn't describe a single interface, or even version of Linux...

Thus in the upstream kernel, we have shipped with OSI(Linux) disabled
since 2.6.23.

The risk of restoring OSI(Linux) is that BIOS writers will
not realize that they have a BIOS bug when they use it
and the abuse and risk of bugs will become unbounded.

Of course for systems that have shipped already, the damage
is done -- and that seems to be the case here.

So the question I have is if OSI(Linux) *only* changes the
mute button on these boxes, or if it has any other effects.
Generally we need to examine the DSDT for each box to know.
Do you have the DSDT's for these boxes?

thanks,
Len Brown, Intel Open Source Technology Center

> DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T500"),
> },
> },
> + {
> + .callback = dmi_enable_osi_linux,
> + .ident = "Lenovo ThinkPad X200[s][t]",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X200"),
> + },
> + },
> + {
> + .callback = dmi_enable_osi_linux,
> + .ident = "Lenovo ThinkPad R400",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad R400"),
> + },
> + },
> + {
> + .callback = dmi_enable_osi_linux,
> + .ident = "Lenovo ThinkPad R500",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad R500"),
> + },
> + },
> + {
> + .callback = dmi_enable_osi_linux,
> + .ident = "Lenovo ThinkPad W500",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W500"),
> + },
> + },
> + {
> + .callback = dmi_enable_osi_linux,
> + .ident = "Lenovo ThinkPad W700[ds]",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W700"),
> + },
> + },
> {}
> };
>
>
>
>
>