From patchwork Fri Dec 11 03:52:49 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhang, Rui" X-Patchwork-Id: 66419 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 nBB3pIZR018760 for ; Fri, 11 Dec 2009 03:51:18 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756299AbZLKDvK (ORCPT ); Thu, 10 Dec 2009 22:51:10 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756442AbZLKDvK (ORCPT ); Thu, 10 Dec 2009 22:51:10 -0500 Received: from mga14.intel.com ([143.182.124.37]:3098 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756299AbZLKDvJ (ORCPT ); Thu, 10 Dec 2009 22:51:09 -0500 Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga102.ch.intel.com with ESMTP; 10 Dec 2009 19:51:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.47,316,1257148800"; d="scan'208";a="221389698" Received: from rzhang1-desktop.sh.intel.com (HELO [10.239.36.117]) ([10.239.36.117]) by azsmga001.ch.intel.com with ESMTP; 10 Dec 2009 19:51:15 -0800 Subject: Re: [PATCH] acpi: Disable explicit power state retrieval on fans From: Zhang Rui To: Matthew Garrett Cc: "linux-acpi@vger.kernel.org" , "lenb@kernel.org" In-Reply-To: <1257883752-2163-1-git-send-email-mjg@redhat.com> References: <1257883752-2163-1-git-send-email-mjg@redhat.com> Date: Fri, 11 Dec 2009 11:52:49 +0800 Message-ID: <1260503569.27069.326.camel@rzhang1-desktop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Index: linux-2.6/drivers/acpi/bus.c =================================================================== --- linux-2.6.orig/drivers/acpi/bus.c +++ linux-2.6/drivers/acpi/bus.c @@ -190,16 +190,17 @@ int acpi_bus_get_power(acpi_handle handl * Get the device's power state either directly (via _PSC) or * indirectly (via power resources). */ - if (device->power.flags.explicit_get) { + + if (device->power.flags.power_resources) { + result = acpi_power_get_inferred_state(device); + if (result) + return result; + } else if (device->power.flags.explicit_get) { status = acpi_evaluate_integer(device->handle, "_PSC", NULL, &psc); if (ACPI_FAILURE(status)) return -ENODEV; device->power.state = (int)psc; - } else if (device->power.flags.power_resources) { - result = acpi_power_get_inferred_state(device); - if (result) - return result; } *state = device->power.state;