Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp6588472rwl; Wed, 22 Mar 2023 12:36:27 -0700 (PDT) X-Google-Smtp-Source: AKy350ZxQEVYZFcc9iHJZVkajhx353EQl36fTPhq5+x+gu1HQxiZeNtRwY88D93T4MQaFq3s3U2O X-Received: by 2002:a17:90b:1d8b:b0:234:4187:1acc with SMTP id pf11-20020a17090b1d8b00b0023441871accmr2838861pjb.19.1679513787346; Wed, 22 Mar 2023 12:36:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679513787; cv=none; d=google.com; s=arc-20160816; b=c1R3x4LkmPTa+zjgnAbVq3UDjmOU/+XLm1euKyOCeq0t/CjhsWLtbWdkzhWiqyDM8m ramSHbPrA1z7m3w+bZRfkEv+q7dazxt1zr319DgQtTwwGSLkrxzgCAmXM9Z+9m6hJq04 WiU0NwzQSCaaZqZVU/EhaW1XZQ11/P9SIzbZ4TTwtqe7//WyBlk3AoVnojbKgirCGmcL FxoWp96pfL5q+SrYcl16B3U/E0F6JgTIQ+Y+OOeQNCjMQUiwXUSeX6SDXgYX9jp+4vMN UNgvPCBg0kLfuOGDB7dSxqq7Y982ee/vFHM5wEeFyweJlPwLMxwgd0m/tf8Cc1t140Zg Tb1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=OiseYTfqOzq25518qIky/j0dYFSiYNS5Vo18hBcrOY8=; b=PIKzHGzE6A8kzP/bdUdhyTMkzutLBPKP+imsWGshCLJ2uYuEww8yPcgEthdo9S7QNS WtjH1DNpZLoPIedoPcChPJEKTiaXTfxU2L2AStFCXJNKdsSoa4GLA/j17I9AuY+cFTxP DZtmZPtBUSOyal0s11IjnxuYUs3Kd96ZC9YqstvXL/LplxTaWntwy+haDbuk/KENumwH ShKhqFKztt4eVgBruL/qZpQAvRTXDvHAMaGu3mq8gYueiRiNTz2ES6xAASF3cF15rVzk y/bFxI0kk4fBGqRhtD8u0BQXnepjytlp/0PDde53yLzTBxq8I6Ey6tcYFR16Ddx2phXx TvNQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e20-20020a170902f1d400b0019e5fd5ec81si15298557plc.133.2023.03.22.12.36.15; Wed, 22 Mar 2023 12:36:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229484AbjCVTeY (ORCPT + 99 others); Wed, 22 Mar 2023 15:34:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40016 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229600AbjCVTeX (ORCPT ); Wed, 22 Mar 2023 15:34:23 -0400 Received: from cloudserver094114.home.pl (cloudserver094114.home.pl [79.96.170.134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 932344E5F5; Wed, 22 Mar 2023 12:34:15 -0700 (PDT) Received: from localhost (127.0.0.1) (HELO v370.home.net.pl) by /usr/run/smtp (/usr/run/postfix/private/idea_relay_lmtp) via UNIX with SMTP (IdeaSmtpServer 5.1.0) id 66da7f182edbea95; Wed, 22 Mar 2023 20:34:13 +0100 Received: from kreacher.localnet (unknown [213.134.163.127]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by v370.home.net.pl (Postfix) with ESMTPSA id 4245422201E0; Wed, 22 Mar 2023 20:34:13 +0100 (CET) From: "Rafael J. Wysocki" To: Linux PM Cc: LKML , Zhang Rui , Srinivas Pandruvada , Daniel Lezcano Subject: [PATCH v1] thermal: core: Clean up thermal_list_lock locking Date: Wed, 22 Mar 2023 20:34:12 +0100 Message-ID: <2696911.mvXUDI8C0e@kreacher> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="UTF-8" X-CLIENT-IP: 213.134.163.127 X-CLIENT-HOSTNAME: 213.134.163.127 X-VADE-SPAMSTATE: clean X-VADE-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegvddguddvjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfjqffogffrnfdpggftiffpkfenuceurghilhhouhhtmecuudehtdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkggfgtgesthfuredttddtjeenucfhrhhomhepfdftrghfrggvlhculfdrucghhihsohgtkhhifdcuoehrjhifsehrjhifhihsohgtkhhirdhnvghtqeenucggtffrrghtthgvrhhnpeffffffkefgheehffelteeiveeffeevhfelteejvddvieejjeelvdeiheeuveeuffenucfkphepvddufedrudefgedrudeifedruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvudefrddufeegrdduieefrdduvdejpdhhvghlohepkhhrvggrtghhvghrrdhlohgtrghlnhgvthdpmhgrihhlfhhrohhmpedftfgrfhgrvghlucflrdcuhgihshhotghkihdfuceorhhjfiesrhhjfiihshhotghkihdrnhgvtheqpdhnsggprhgtphhtthhopeehpdhrtghpthhtoheplhhinhhugidqphhmsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoheprhhuihdriihhrghnghesihhnthgvlhdrtghomhdprhgtphhtthhopehsrhhinhhivhgrshdrphgrnhgurhhuvhgruggrsehlihhnuhigrdhinhhtvghlrdgt ohhmpdhrtghpthhtohepuggrnhhivghlrdhlvgiitggrnhhosehlihhnrghrohdrohhrgh X-DCC--Metrics: v370.home.net.pl 1024; Body=5 Fuz1=5 Fuz2=5 X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rafael J. Wysocki Once thermal_list_lock has been acquired in __thermal_cooling_device_register(), it is not necessary to drop it and take it again until all of the thermal zones have been updated, so change the code accordingly. No expected functional impact. Signed-off-by: Rafael J. Wysocki --- drivers/thermal/thermal_core.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) Index: linux-pm/drivers/thermal/thermal_core.c =================================================================== --- linux-pm.orig/drivers/thermal/thermal_core.c +++ linux-pm/drivers/thermal/thermal_core.c @@ -826,8 +826,6 @@ static void bind_cdev(struct thermal_coo const struct thermal_zone_params *tzp; struct thermal_zone_device *pos = NULL; - mutex_lock(&thermal_list_lock); - list_for_each_entry(pos, &thermal_tz_list, node) { if (!pos->tzp && !pos->ops->bind) continue; @@ -854,8 +852,6 @@ static void bind_cdev(struct thermal_coo tzp->tbp[i].weight); } } - - mutex_unlock(&thermal_list_lock); } /** @@ -933,17 +929,17 @@ __thermal_cooling_device_register(struct /* Add 'this' new cdev to the global cdev list */ mutex_lock(&thermal_list_lock); + list_add(&cdev->node, &thermal_cdev_list); - mutex_unlock(&thermal_list_lock); /* Update binding information for 'this' new cdev */ bind_cdev(cdev); - mutex_lock(&thermal_list_lock); list_for_each_entry(pos, &thermal_tz_list, node) if (atomic_cmpxchg(&pos->need_update, 1, 0)) thermal_zone_device_update(pos, THERMAL_EVENT_UNSPECIFIED); + mutex_unlock(&thermal_list_lock); return cdev;