Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2194894yba; Mon, 22 Apr 2019 02:07:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqwYutNjVI3SgfM05QeDLi0kK8L2bg+lGNEW3OpSUieiU6qcHhb65+qkmEizRdo1W/v3grVK X-Received: by 2002:a17:902:362:: with SMTP id 89mr18451287pld.172.1555924053501; Mon, 22 Apr 2019 02:07:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555924053; cv=none; d=google.com; s=arc-20160816; b=EsvTHYLxXFiwcE8GKtUHm+ju80ZPSWxQDsXMNZ8+iEw5aFmpIV+dXupm6JX5O51wld M4VzLqyJPxWBth8k19slbHwNoSxdyudOHmnA0RAtzgx6gZUZJ2e2KpfCGzUjgnNRPAJT b68H930bd9Q3emVswz7UERuEAeOS194LjTFso/wJwu0C/d561fAOXJc0Kympi1tMyc30 WRvjjTLy/NWRZNPy5DXPZYR0zVdcTnGriWewtWVDK9A5IGEHY7nIKchPdhtkNI363vVA 1+WHLWAf0KGCJKkAOO4kcIqKYi0cJ4D3UDw7LSaPMtTfPhI/J09JR5tY0aU+sHmcC/g1 H8nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id; bh=0iBP10JvfmXdvYHcQalvtgLCn6C/vuTadUnc7ZotkAM=; b=Qq8wNS01xocloD4W6p77sTHitpAHNriK0+a5BhK4mmBapCcfYWFYWMFtx3Qqs0+NfF H8UI5JLXWIhUdzGpu6lG5Ldufk6slsiu+dCMHW/YkI95W8PL/8YvttlUAytiGr0wnX9R +b4YioAwdKliGqQ41cLKAUl/zHukKZHiH1L0Vr/Rb5l5hKxKqJLAxynnipvYB3ZF7SUQ 1lcr3BWVSeOCk0FkcxPwnaNMuQBjUdouN49NxrykZlvkE9YckgWXv4jNVl6BPC5dKex7 EYNGcdCdXCUaAGePMQfycmIHrIsF4rtWXMsAGtR0s2OzvktCh7UMHRwjjSIL7OWxqu2i sDrw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m18si11138857pgv.209.2019.04.22.02.07.12; Mon, 22 Apr 2019 02:07:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727029AbfDVJDZ (ORCPT + 99 others); Mon, 22 Apr 2019 05:03:25 -0400 Received: from mga04.intel.com ([192.55.52.120]:4545 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726619AbfDVJDY (ORCPT ); Mon, 22 Apr 2019 05:03:24 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Apr 2019 02:03:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,381,1549958400"; d="scan'208";a="142561435" Received: from rzhang-dell-9360.sh.intel.com ([10.239.161.125]) by fmsmga008.fm.intel.com with ESMTP; 22 Apr 2019 02:03:22 -0700 Message-ID: <1555923800.26198.30.camel@intel.com> Subject: Re: [PATCH] thermal: core: skip update disabled thermal zones after suspend From: Zhang Rui To: Wei Wang Cc: wei.vince.wang@gmail.com, Eduardo Valentin , Daniel Lezcano , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Date: Mon, 22 Apr 2019 17:03:20 +0800 In-Reply-To: <20190416170701.50333-1-wvw@google.com> References: <20190416170701.50333-1-wvw@google.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 二, 2019-04-16 at 10:07 -0700, Wei Wang wrote: > It is unnecessary to update disabled thermal zones post suspend and > sometimes leads error/warning in bad behaved thermal drivers. > a good catch, and in fact, there are more issues about thermal handling for disabled thermal zones, like we're able to read the temperature of disabled thermal zones, either via sysfs or via function calls like thermal_zone_device_update. For this patch, I will take it as it fixes one of the problem. thanks, rui > Signed-off-by: Wei Wang > --- >  drivers/thermal/thermal_core.c | 8 ++++++++ >  1 file changed, 8 insertions(+) > > diff --git a/drivers/thermal/thermal_core.c > b/drivers/thermal/thermal_core.c > index 6590bb5cb688..5baf5cfab999 100644 > --- a/drivers/thermal/thermal_core.c > +++ b/drivers/thermal/thermal_core.c > @@ -1494,6 +1494,7 @@ static int thermal_pm_notify(struct > notifier_block *nb, >        unsigned long mode, void *_unused) >  { >   struct thermal_zone_device *tz; > + enum thermal_device_mode tz_mode; >   >   switch (mode) { >   case PM_HIBERNATION_PREPARE: > @@ -1506,6 +1507,13 @@ static int thermal_pm_notify(struct > notifier_block *nb, >   case PM_POST_SUSPEND: >   atomic_set(&in_suspend, 0); >   list_for_each_entry(tz, &thermal_tz_list, node) { > + tz_mode = THERMAL_DEVICE_ENABLED; > + if (tz->ops->get_mode) > + tz->ops->get_mode(tz, &tz_mode); > + > + if (tz_mode == THERMAL_DEVICE_DISABLED) > + continue; > + >   thermal_zone_device_init(tz); >   thermal_zone_device_update(tz, >      THERMAL_EVENT_UNS > PECIFIED);