From patchwork Tue Feb 16 21:55:51 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Renninger X-Patchwork-Id: 79788 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o1GLuOIv019312 for ; Tue, 16 Feb 2010 21:56:28 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933384Ab0BPV42 (ORCPT ); Tue, 16 Feb 2010 16:56:28 -0500 Received: from cantor.suse.de ([195.135.220.2]:36714 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933264Ab0BPV41 (ORCPT ); Tue, 16 Feb 2010 16:56:27 -0500 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.221.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 9DF6B8E8CC; Tue, 16 Feb 2010 22:56:26 +0100 (CET) From: Thomas Renninger To: linux-acpi@vger.kernel.org Cc: Thomas Renninger , Len Brown Subject: [PATCH 2/2] ACPI thermal: Check for thermal zone requirement Date: Tue, 16 Feb 2010 22:55:51 +0100 Message-Id: <1266357351-20224-2-git-send-email-trenn@suse.de> X-Mailer: git-send-email 1.6.3 In-Reply-To: <1266357351-20224-1-git-send-email-trenn@suse.de> References: <1266357351-20224-1-git-send-email-trenn@suse.de> Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Tue, 16 Feb 2010 21:56:29 +0000 (UTC) diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index 8fa71b8..09b757a 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c @@ -577,7 +577,23 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag) static int acpi_thermal_get_trip_points(struct acpi_thermal *tz) { - return acpi_thermal_trips_update(tz, ACPI_TRIPS_INIT); + int i, valid, ret = acpi_thermal_trips_update(tz, ACPI_TRIPS_INIT); + + if (ret) + return ret; + + valid = tz->trips.critical.flags.valid | + tz->trips.hot.flags.valid | + tz->trips.passive.flags.valid; + + for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE; i++) + valid |= tz->trips.active[i].flags.valid; + + if (!valid) { + printk(KERN_WARNING FW_BUG "No valid trip found\n"); + return -ENODEV; + } + return 0; } static void acpi_thermal_check(void *data)