Re: thinkpad_acpi: Saving bluetooth state to NVRAM problem and fix

From: Henrique de Moraes Holschuh
Date: Sun Jun 10 2012 - 10:48:57 EST


On Sun, 10 Jun 2012, Vsevolod Kozlov wrote:
> thinkpad_acpi normally fails to save Bluetooth state to NVRAM on my system
> (ThinkPad X120e). However, a small change in the code fixes the functionality:
>
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -3999,7 +3999,7 @@ static const struct tpacpi_rfk_ops bluetooth_tprfk_ops = {
> static void bluetooth_shutdown(void)
> {
> /* Order firmware to save current state to NVRAM */
> - if (!acpi_evalf(NULL, NULL, "\\BLTH", "vd",
> + if (!acpi_evalf(NULL, NULL, "\\_SB.BLTH", "vd",
> TP_ACPI_BLTH_SAVE_STATE))
> pr_notice("failed to save bluetooth state to NVRAM\n");
> else
>
> I can't tell whether this breaks the functionality on other ThinkPad systems
> because I don't have any, though.

Yes, it would break other systems. But I can write a fix that supports both
systems with the data you supplied.

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
--
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/