From patchwork Fri Sep 18 19:41:11 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Morton X-Patchwork-Id: 48601 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n8IJhLh4004221 for ; Fri, 18 Sep 2009 19:43:22 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751769AbZIRTm4 (ORCPT ); Fri, 18 Sep 2009 15:42:56 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751840AbZIRTm4 (ORCPT ); Fri, 18 Sep 2009 15:42:56 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:56780 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751769AbZIRTmz (ORCPT ); Fri, 18 Sep 2009 15:42:55 -0400 Received: from imap1.linux-foundation.org (imap1.linux-foundation.org [140.211.169.55]) by smtp1.linux-foundation.org (8.14.2/8.13.5/Debian-3ubuntu1.1) with ESMTP id n8IJfBsk007345 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 18 Sep 2009 12:41:12 -0700 Received: from localhost.localdomain (localhost [127.0.0.1]) by imap1.linux-foundation.org (8.13.5.20060308/8.13.5/Debian-3ubuntu1.1) with ESMTP id n8IJfBB5002614; Fri, 18 Sep 2009 12:41:11 -0700 Message-Id: <200909181941.n8IJfBB5002614@imap1.linux-foundation.org> Subject: [patch 8/8] dell_laptop: when the "hardware" switch is disabled, don't actually allow changing the softblock status. To: lenb@kernel.org Cc: linux-acpi@vger.kernel.org, akpm@linux-foundation.org, Mario_Limonciello@Dell.com From: akpm@linux-foundation.org Date: Fri, 18 Sep 2009 12:41:11 -0700 MIME-Version: 1.0 X-Spam-Status: No, hits=-3.513 required=5 tests=AWL, BAYES_00, OSDL_HEADER_SUBJECT_BRACKETED X-Spam-Checker-Version: SpamAssassin 3.2.4-osdl_revision__1.47__ X-MIMEDefang-Filter: lf$Revision: 1.188 $ X-Scanned-By: MIMEDefang 2.63 on 140.211.169.13 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org From: Mario Limonciello The "hardware" switch is tied directly to a BIOS interface that will connect and disconnect the hardware from the bus. If you use the software interface to request the BIOS to make these changes, the HW switch will be in an inconsistent state and LEDs may not reflect the state of the HW. Signed-off-by: Mario Limonciello Signed-off-by: Andrew Morton --- drivers/platform/x86/dell-laptop.c | 4 ++++ 1 file changed, 4 insertions(+) diff -puN drivers/platform/x86/dell-laptop.c~dell_laptop-when-the-hardware-switch-is-disabled-dont-actually-allow-changing-the-softblock-status drivers/platform/x86/dell-laptop.c --- a/drivers/platform/x86/dell-laptop.c~dell_laptop-when-the-hardware-switch-is-disabled-dont-actually-allow-changing-the-softblock-status +++ a/drivers/platform/x86/dell-laptop.c @@ -181,6 +181,10 @@ static int dell_rfkill_set(void *data, b unsigned long radio = (unsigned long)data; memset(&buffer, 0, sizeof(struct calling_interface_buffer)); + dell_send_request(&buffer, 17, 11); + if (!(buffer.output[1] & BIT(16))) + return -EINVAL; + buffer.input[0] = (1 | (radio<<8) | (disable << 16)); dell_send_request(&buffer, 17, 11);