From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753640AbbFMNXt (ORCPT ); Sat, 13 Jun 2015 09:23:49 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:62090 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753319AbbFMNXk (ORCPT ); Sat, 13 Jun 2015 09:23:40 -0400 From: Arnd Bergmann To: platform-driver-x86@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Ike Panhc , Darren Hart , Matthew Garrett Subject: [PATCH 1/2] ideapad: fix software rfkill setting Date: Sat, 13 Jun 2015 15:23:33 +0200 Message-ID: <5498848.9yV42J8a1L@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:aPEysV650wjQteA4dbsPHW2CiTLaGPO8MSABXmsjznQabn2PE1t P9wG2k0Gi7w2I4p05ekzSWkrfuXxTbTij22HKL+rEw3/UHw9Y/HmFCE/xyE/IlBBmHIOhUg Ij1L5prf7KoziB5XwpYjucBE4WOzev4CKCAiu7JbIueRXT+gqefFvet7JWOoA6XaiZ527fk AkPWrms/jGHratJd3NARg== X-UI-Out-Filterresults: notjunk:1;V01:K0:P9X2neu3LA0=:7SxsNtDv/E2Yg2DCce9STS ue0KRVuA4vu58hTzBz8tatSoVjrMg4hJ15VTz28tw467z3Lxaqe26lQpiH7/JWvHMJUxQ8fJ4 NRS6hOcD4M7ZDsVDpQtytAQzGT95IRe24E5iXiksukKEgNmDMbFWl1z4H81t/4VsNKhl5Tmoe PP9n1h7/8wN75vsTn3vYB8jxBLqTz54oenQUovZKGhFAt0vCpgq4gpJ0oL05A4gcfn4TfSEdX ifgnYwljxuhX32hCRScZQ49U6XJa13dATq4ZTMCFTDxGhfrKDY5xFqwHaLxr/Y7gOLuEmfjao R6Y3xNHDf8xerHb/hP+bq72JN1FvJhTeVT1QlnOX75GKBPSjlWH4muh+fZKtkrHuYOkZpDKP4 A5M6uJpFWZkAj2+XnyniipyHve8hGMyuKfrD8PBHNLj9SipCUw7972c/cYioOC8NJ0nwd0wBB 7D9gBSeaHQnjZ9HxBimidTI1TFYG1cpVl4LVAWJ91qLBeVHVL0RjqUGUxWpRhQGM6Dmf6/Hlj q3kFnopeM6YDGuf9mzkXNifE67rTGzgnJ3yam5DyRV/tKpgqBEjyp6xlX8rcIEE9DAfp72t/S AjNh6OKk5lyvsyUPgWT5W1Ic0EWvHJboWaQL5LPNjnxECNPt1gmqZkpY7zRfm651hq6GwVoCr h0/RkhZTdMw/mdpTKz5IqH8wsT5yv6BQYvnAE5seJJRz3nA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This fixes a several year old regression that I found while trying to get the Yoga 3 11 to work. The ideapad_rfk_set function is meant to send a command to the embedded controller through ACPI, but as of c1f73658ed, it sends the index of the rfkill device instead of the command, and ignores the opcode field. This changes it back to the original behavior, which indeed flips the rfkill state as seen in the debugfs interface. Signed-off-by: Arnd Bergmann Fixes: c1f73658ed ("ideapad: pass ideapad_priv as argument (part 2)") Cc: stable@vger.kernel.org # v2.6.38+ diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c index 6e825201f09a..cb7cd8d79329 100644 --- a/drivers/platform/x86/ideapad-laptop.c +++ b/drivers/platform/x86/ideapad-laptop.c @@ -464,8 +464,9 @@ static const struct ideapad_rfk_data ideapad_rfk_data[] = { static int ideapad_rfk_set(void *data, bool blocked) { struct ideapad_rfk_priv *priv = data; + int opcode = ideapad_rfk_data[priv->dev].opcode; - return write_ec_cmd(priv->priv->adev->handle, priv->dev, !blocked); + return write_ec_cmd(priv->priv->adev->handle, opcode, !blocked); } static struct rfkill_ops ideapad_rfk_ops = {