From nobody Mon Apr 6 14:13:17 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B3E2275B1A; Thu, 19 Mar 2026 09:17:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911824; cv=none; b=J+cEFlMceYhvZnRvFGvhlpNsv+LIkoYKV/z9vLXSkSMUyRLJVesxmrevr6MGwVwqiksZEaNsexLF3077Hj95n59OKeKaUyYeYCfhTEJeOKgGsBJm5kU+4oUNRAWIMGkSOzgW3XVtwb+hNDvwKYCp5hNH9JuPNxslzHwx3dxX5Ao= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911824; c=relaxed/simple; bh=EQ0u/cTaIGlgPPSn2zj/uyDVberTCae4yj7OzesI1G0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Dvpo6kvkTw9L/0w2fRdFFeOHrSTlFkRwMQNRI5tyc1J6QJ0/nmkQo34zlABoW3x9I3Lu5l5ZPG9zkwQLXsn5Eq30jkJocmKfJP16BAMqYX1AZjty6Y9YwEcz5z7u9mE9TVDl6Pi9oLThZE/Z7IwaI0gx43EzTMbXZ9T0p/2CJvY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: 6064b9ce237411f1a21c59e7364eecb8-20260319 X-CTIC-Tags: HR_CC_COUNT, HR_CC_DOMAIN_COUNT, HR_CC_NAME, HR_CC_NO_NAME, HR_CTE_8B HR_CTT_MISS, HR_DATE_H, HR_DATE_WKD, HR_DATE_ZONE, HR_FROM_NAME HR_SJ_DIGIT_LEN, HR_SJ_LANG, HR_SJ_LEN, HR_SJ_LETTER, HR_SJ_NOR_SYM HR_SJ_PHRASE, HR_SJ_PHRASE_LEN, HR_SJ_WS, HR_TO_COUNT, HR_TO_DOMAIN_COUNT HR_TO_NO_NAME, IP_UNTRUSTED, SRC_UNTRUSTED, IP_UNFAMILIAR, SRC_UNFAMILIAR DN_TRUSTED, SRC_TRUSTED, SA_TRUSTED, SA_EXISTED, SN_TRUSTED SN_EXISTED, SPF_NOPASS, DKIM_NOPASS, DMARC_NOPASS, CIE_GOOD_SPF CIE_UNKNOWN, GTI_FG_BS, GTI_RG_INFO, GTI_C_BU, AMN_GOOD ABX_MISS_RDNS X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:043da8c6-4c6b-4547-9d39-4784c595ba21,IP:10, URL:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACT ION:release,TS:-15 X-CID-INFO: VERSION:1.3.11,REQID:043da8c6-4c6b-4547-9d39-4784c595ba21,IP:10,UR L:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:EDM_GE969F26,ACTI ON:release,TS:-15 X-CID-META: VersionHash:89c9d04,CLOUDID:0d2ff1fcf33a4e7cd8c36a8596f372e0,BulkI D:260309195436K68LMHDV,BulkQuantity:1,Recheck:0,SF:17|19|38|66|78|81|82|10 2|127|850|898,TC:nil,Content:0|15|50,EDM:1|19,IP:-2,URL:0,File:nil,RT:nil, Bulk:41,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR :0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_AEC,TF_CID_SPAM_FAS,TF_CID_SPAM_FSD X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 6064b9ce237411f1a21c59e7364eecb8-20260319 X-User: tianyaxiong@kylinos.cn Received: from localhost.localdomain [(175.2.81.164)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA) with ESMTP id 1593952495; Thu, 19 Mar 2026 17:16:56 +0800 From: Yaxiong Tian To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com, cw00.choi@samsung.com, nm@ti.com Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yaxiong Tian Subject: [PATCH RESEND 1/4] PM / devfreq: Fix possible null pointer issue in devfreq_add_governor() Date: Thu, 19 Mar 2026 17:16:53 +0800 Message-Id: <20260319091653.1005878-1-tianyaxiong@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260319091409.998397-1-tianyaxiong@kylinos.cn> References: <20260319091409.998397-1-tianyaxiong@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When a user removes a governor using devfreq_remove_governor(), if the current device is using this governor, devfreq->governor will be set to NULL. When the user registers any governor using devfreq_add_governor(), since devfreq->governor is NULL, a null pointer error occurs in strncmp(). For example: A user loads the userspace gov through a module, then a device selects userspace. When unloading the userspace module and then loading it again, the null pointer error occurs: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 Mem abort info: ESR =3D 0x0000000096000004 EC =3D 0x25: DABT (current EL), IL =3D 32 bits *******************skip ********************* Call trace: __pi_strncmp+0x20/0x1b8 devfreq_userspace_init+0x1c/0xff8 [governor_userspace] do_one_initcall+0x4c/0x278 do_init_module+0x5c/0x218 load_module+0x1f1c/0x1fc8 init_module_from_file+0x8c/0xd0 __arm64_sys_finit_module+0x220/0x3d8 invoke_syscall+0x48/0x110 el0_svc_common.constprop.0+0xbc/0xe8 do_el0_svc+0x20/0x30 el0_svc+0x24/0xb8 el0t_64_sync_handler+0xb8/0xc0 el0t_64_sync+0x14c/0x150 To fix this issue, modify the relevant logic in devfreq_add_governor(): Only check whether the new governor matches the existing one when devfreq->governor exists. When devfreq->governor is NULL, directly select the new governor and perform the DEVFREQ_GOV_START operation. Fixes: 1b5c1be2c88e ("PM / devfreq: map devfreq drivers to governor using n= ame") Signed-off-by: Yaxiong Tian --- drivers/devfreq/devfreq.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index 54f0b18536db..63ce6e25abe2 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -1288,23 +1288,21 @@ int devfreq_add_governor(struct devfreq_governor *g= overnor) int ret =3D 0; struct device *dev =3D devfreq->dev.parent; =20 - if (!strncmp(devfreq->governor->name, governor->name, + if (devfreq->governor && !strncmp(devfreq->governor->name, governor->nam= e, DEVFREQ_NAME_LEN)) { /* The following should never occur */ - if (devfreq->governor) { + dev_warn(dev, + "%s: Governor %s already present\n", + __func__, devfreq->governor->name); + ret =3D devfreq->governor->event_handler(devfreq, + DEVFREQ_GOV_STOP, NULL); + if (ret) { dev_warn(dev, - "%s: Governor %s already present\n", - __func__, devfreq->governor->name); - ret =3D devfreq->governor->event_handler(devfreq, - DEVFREQ_GOV_STOP, NULL); - if (ret) { - dev_warn(dev, - "%s: Governor %s stop =3D %d\n", - __func__, - devfreq->governor->name, ret); - } - /* Fall through */ + "%s: Governor %s stop =3D %d\n", + __func__, + devfreq->governor->name, ret); } + } else if (!devfreq->governor) { devfreq->governor =3D governor; ret =3D devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_START, NULL); --=20 2.25.1 From nobody Mon Apr 6 14:13:17 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 698093B3BE2; Thu, 19 Mar 2026 09:17:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911834; cv=none; b=SkUpuKuesm8U9kEa+jGlZ4aAv0lxFW06sh4UFnQ3qL5yynmn7bvaeiDsJPifEXJap5y0MPiZOi8zBMQjr9VngVem6/5MPw8H2WmplPKGuUZ/1yRJNxBTNj7X8GpCZbtbNQKgonWrxN1wHRX/ByticwV9N6tWFZ6PUE83lwVzmWo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911834; c=relaxed/simple; bh=i1jwU4KWNL/HrGcY1wuLKKN+d8BiawGqojUHD+lSWVE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rzHeE9CWTB0+iUgsVJpnUjlHCGgBRRMnzNsjLyXLp+nUNF+XLjg93mYM95AmhAw/JNQbUmxHKRkQSByS373InmiusAVVxs0ELAbuhOzjgRz1XTiaYczlcN1zyxPRz333ei9lcuIuzdNRu9lKdATiZOcGcKAIGI3BKCW/RDWV2Do= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: 65737c0c237411f1a21c59e7364eecb8-20260319 X-CTIC-Tags: HR_CC_COUNT, HR_CC_DOMAIN_COUNT, HR_CC_NAME, HR_CC_NO_NAME, HR_CTE_8B HR_CTT_MISS, HR_DATE_H, HR_DATE_WKD, HR_DATE_ZONE, HR_FROM_NAME HR_SJ_DIGIT_LEN, HR_SJ_LANG, HR_SJ_LEN, HR_SJ_LETTER, HR_SJ_NOR_SYM HR_SJ_PHRASE, HR_SJ_PHRASE_LEN, HR_SJ_WS, HR_TO_COUNT, HR_TO_DOMAIN_COUNT HR_TO_NO_NAME, IP_UNTRUSTED, SRC_UNTRUSTED, IP_UNFAMILIAR, SRC_UNFAMILIAR DN_TRUSTED, SRC_TRUSTED, SA_TRUSTED, SA_EXISTED, SN_TRUSTED SN_EXISTED, SPF_NOPASS, DKIM_NOPASS, DMARC_NOPASS, CIE_GOOD_SPF CIE_UNKNOWN, GTI_FG_BS, GTI_RG_INFO, GTI_C_BU, AMN_GOOD ABX_MISS_RDNS X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:9407ec8d-58ad-4da2-8f17-3545054e800f,IP:10, URL:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACT ION:release,TS:-15 X-CID-INFO: VERSION:1.3.11,REQID:9407ec8d-58ad-4da2-8f17-3545054e800f,IP:10,UR L:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:EDM_GE969F26,ACTI ON:release,TS:-15 X-CID-META: VersionHash:89c9d04,CLOUDID:6e88b8e504dd3f76b8c8632c52f0d7fc,BulkI D:260309195445LTGO4JZ9,BulkQuantity:1,Recheck:0,SF:17|19|38|66|78|81|82|10 2|127|850|898,TC:nil,Content:0|15|50,EDM:1,IP:-2,URL:0,File:nil,RT:nil,Bul k:41,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0, BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_FAS,TF_CID_SPAM_FSD,TF_CID_SPAM_SNR,TF_CID_SPAM_AEC X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 65737c0c237411f1a21c59e7364eecb8-20260319 X-User: tianyaxiong@kylinos.cn Received: from localhost.localdomain [(175.2.81.164)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA) with ESMTP id 896799789; Thu, 19 Mar 2026 17:17:05 +0800 From: Yaxiong Tian To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com, cw00.choi@samsung.com, nm@ti.com Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yaxiong Tian Subject: [PATCH RESEND 2/4] PM / devfreq: Fix available_governors_show() when no governor is set Date: Thu, 19 Mar 2026 17:17:01 +0800 Message-Id: <20260319091701.1006345-1-tianyaxiong@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260319091409.998397-1-tianyaxiong@kylinos.cn> References: <20260319091409.998397-1-tianyaxiong@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Since devfreq_remove_governor() may clear the device's current governor in certain situations, while governors actually exist independently of the device, directly returning EINVAL in this case is inaccurate. To fix this issue, remove this check and use df->governor for validity verification in the following code. Fixes: 483d557ee9a3 ("PM / devfreq: Clean up the devfreq instance name in s= ysfs attr") Signed-off-by: Yaxiong Tian Reviewed-by: Jie Zhan --- drivers/devfreq/devfreq.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index 63ce6e25abe2..0bf320123e3a 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -1504,16 +1504,13 @@ static ssize_t available_governors_show(struct devi= ce *d, struct devfreq *df =3D to_devfreq(d); ssize_t count =3D 0; =20 - if (!df->governor) - return -EINVAL; - mutex_lock(&devfreq_list_lock); =20 /* * The devfreq with immutable governor (e.g., passive) shows * only own governor. */ - if (IS_SUPPORTED_FLAG(df->governor->flags, IMMUTABLE)) { + if (df->governor && IS_SUPPORTED_FLAG(df->governor->flags, IMMUTABLE)) { count =3D scnprintf(&buf[count], DEVFREQ_NAME_LEN, "%s ", df->governor->name); /* --=20 2.25.1 From nobody Mon Apr 6 14:13:17 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5699E3B6360; Thu, 19 Mar 2026 09:17:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911837; cv=none; b=MBlY/e1QzT+nJqVecRf7PpVBaFBlaT8pdZq32AlE6ZK3qvT0UFBge0Nvr6QOWjw6nuHRrw4gkeZ+Fg7IgSPG4tJpZ/cfBQR7i8xWHNPzqXs+F3IgMFlzZotIWTBPHTKOe3Yi7VEkj+51P6dzEEsjHXtRk2oIi+IsVd+0iVXQ8D4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911837; c=relaxed/simple; bh=OYvYGcA5crFc4qw3Y7HuNbAVzmr9Bht0Unt0J66Ifew=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hkOeNg2ufGOxxXFj9KAdG9NeP3ePJ9D0ae/5qM8FrgFJ2SRnL0jjsuvLMsvIXXcfsnfFnOQNsOm7tRvmbkWok4PHytgUlGpZzT5bLIuDwSPgmlZrSRWys9BbTmC2fXggaII8gFRZP84ZjvcGMKW3KL2Lk6CGSRn5IS0FtURbFpo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: 6aa0d7f6237411f1a21c59e7364eecb8-20260319 X-CTIC-Tags: HR_CC_COUNT, HR_CC_DOMAIN_COUNT, HR_CC_NAME, HR_CC_NO_NAME, HR_CTE_8B HR_CTT_MISS, HR_DATE_H, HR_DATE_WKD, HR_DATE_ZONE, HR_FROM_NAME HR_SJ_DIGIT_LEN, HR_SJ_LANG, HR_SJ_LEN, HR_SJ_LETTER, HR_SJ_NOR_SYM HR_SJ_PHRASE, HR_SJ_PHRASE_LEN, HR_SJ_WS, HR_TO_COUNT, HR_TO_DOMAIN_COUNT HR_TO_NO_NAME, IP_UNTRUSTED, SRC_UNTRUSTED, IP_UNFAMILIAR, SRC_UNFAMILIAR DN_TRUSTED, SRC_TRUSTED, SA_TRUSTED, SA_EXISTED, SN_TRUSTED SN_EXISTED, SPF_NOPASS, DKIM_NOPASS, DMARC_NOPASS, CIE_GOOD_SPF CIE_UNKNOWN, GTI_FG_BS, GTI_RG_INFO, GTI_C_BU, AMN_GOOD ABX_MISS_RDNS X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:c73e7686-b166-45cd-a526-4bb20c701ad1,IP:10, URL:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACT ION:release,TS:-15 X-CID-INFO: VERSION:1.3.11,REQID:c73e7686-b166-45cd-a526-4bb20c701ad1,IP:10,UR L:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:EDM_GE969F26,ACTI ON:release,TS:-15 X-CID-META: VersionHash:89c9d04,CLOUDID:546ff78d8f27260954c8eb0e9ed71fa6,BulkI D:260309195451VYH3YVRQ,BulkQuantity:1,Recheck:0,SF:17|19|38|66|78|81|82|10 2|127|850|898,TC:nil,Content:0|15|50,EDM:1,IP:-2,URL:0,File:nil,RT:nil,Bul k:41,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0, BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_AEC,TF_CID_SPAM_FAS,TF_CID_SPAM_FSD,TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 6aa0d7f6237411f1a21c59e7364eecb8-20260319 X-User: tianyaxiong@kylinos.cn Received: from localhost.localdomain [(175.2.81.164)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA) with ESMTP id 640967745; Thu, 19 Mar 2026 17:17:13 +0800 From: Yaxiong Tian To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com, cw00.choi@samsung.com, nm@ti.com Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yaxiong Tian Subject: [PATCH RESEND 3/4] PM / devfreq: Fix governor_store() failing when device has no current governor Date: Thu, 19 Mar 2026 17:17:10 +0800 Message-Id: <20260319091710.1006814-1-tianyaxiong@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260319091409.998397-1-tianyaxiong@kylinos.cn> References: <20260319091409.998397-1-tianyaxiong@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Since devfreq_remove_governor() may clear the device's current governor in certain situations, while governors actually exist independently of the device, directly returning EINVAL in this case is inaccurate. To fix this issue, remove this check and add relevant logic for when df->governor is NULL. Fixes: 483d557ee9a3 ("PM / devfreq: Clean up the devfreq instance name in s= ysfs attr") Signed-off-by: Yaxiong Tian --- drivers/devfreq/devfreq.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index 0bf320123e3a..4a312f3c2421 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -1425,9 +1425,6 @@ static ssize_t governor_store(struct device *dev, str= uct device_attribute *attr, char str_governor[DEVFREQ_NAME_LEN + 1]; const struct devfreq_governor *governor, *prev_governor; =20 - if (!df->governor) - return -EINVAL; - ret =3D sscanf(buf, "%" __stringify(DEVFREQ_NAME_LEN) "s", str_governor); if (ret !=3D 1) return -EINVAL; @@ -1438,6 +1435,18 @@ static ssize_t governor_store(struct device *dev, st= ruct device_attribute *attr, ret =3D PTR_ERR(governor); goto out; } + + if (!df->governor) { + df->governor =3D governor; + ret =3D df->governor->event_handler(df, DEVFREQ_GOV_START, NULL); + if (ret) { + dev_warn(dev, "%s: Governor %s not started(%d)\n", + __func__, df->governor->name, ret); + df->governor =3D NULL; + } + goto out; + } + if (df->governor =3D=3D governor) { ret =3D 0; goto out; --=20 2.25.1 From nobody Mon Apr 6 14:13:17 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 84A8B3B8D55; Thu, 19 Mar 2026 09:17:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911851; cv=none; b=llbX80gx0eUdR3ku2cIa4t7vw8CSZgBZpAmC9a145rCHVHUUPLgQpJZDLSV9/nmRa7HnexRfCQb3sW+MR2AWYj+69nEf+MsGmmt9hn2b9JKqMRHi2+MemWGT2C/QlG7y+nuR/oeYGMUJPXFlXqxNMZSBwuW/b5AoEaZew5SYEec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773911851; c=relaxed/simple; bh=1yT3lSlM6pAAQCAVRHAZbp80PA6zTvdaA26h/rSurHk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PU/WxYi7tkyWQO91yCvW9JYzuUnSPXWLty/Loo7m//R55Eu1ianvGlC7kT3FbykD9O9tQlcJoBxuT2k5iKvJ/CgoR3vJ0FTMbDFwEQsgNaAV8UZHaCShg2zmv5qQVvOGp0oxVTq23mS5XFutbO1ZuTNEThb8gV9mMZTZ8p5WMmY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: 7049782a237411f1a21c59e7364eecb8-20260319 X-CTIC-Tags: HR_CC_COUNT, HR_CC_DOMAIN_COUNT, HR_CC_NAME, HR_CC_NO_NAME, HR_CTE_8B HR_CTT_MISS, HR_DATE_H, HR_DATE_WKD, HR_DATE_ZONE, HR_FROM_NAME HR_SJ_DIGIT_LEN, HR_SJ_LANG, HR_SJ_LEN, HR_SJ_LETTER, HR_SJ_NOR_SYM HR_SJ_PHRASE, HR_SJ_PHRASE_LEN, HR_SJ_WS, HR_TO_COUNT, HR_TO_DOMAIN_COUNT HR_TO_NO_NAME, IP_UNTRUSTED, SRC_UNTRUSTED, IP_UNFAMILIAR, SRC_UNFAMILIAR DN_TRUSTED, SRC_TRUSTED, SA_TRUSTED, SA_EXISTED, SN_TRUSTED SN_EXISTED, SPF_NOPASS, DKIM_NOPASS, DMARC_NOPASS, CIE_GOOD_SPF CIE_UNKNOWN, GTI_FG_BS, GTI_RG_INFO, GTI_C_BU, AMN_GOOD ABX_MISS_RDNS X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:cb0db077-dad8-4715-ab0f-67fee49567be,IP:10, URL:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACT ION:release,TS:-15 X-CID-INFO: VERSION:1.3.11,REQID:cb0db077-dad8-4715-ab0f-67fee49567be,IP:10,UR L:0,TC:0,Content:0,EDM:-20,RT:0,SF:-5,FILE:0,BULK:0,RULE:EDM_GE969F26,ACTI ON:release,TS:-15 X-CID-META: VersionHash:89c9d04,CLOUDID:9aeb2e59c72a43aef4d1b20a2dc4b566,BulkI D:2603091955003MUJSQHW,BulkQuantity:1,Recheck:0,SF:17|19|38|66|78|81|82|10 2|127|850|898,TC:nil,Content:0|15|50,EDM:1,IP:-2,URL:0,File:nil,RT:nil,Bul k:41,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0, BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_FSD,TF_CID_SPAM_SNR,TF_CID_SPAM_AEC,TF_CID_SPAM_FAS X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 7049782a237411f1a21c59e7364eecb8-20260319 X-User: tianyaxiong@kylinos.cn Received: from localhost.localdomain [(175.2.81.164)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA) with ESMTP id 205671121; Thu, 19 Mar 2026 17:17:23 +0800 From: Yaxiong Tian To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com, cw00.choi@samsung.com, nm@ti.com Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Yaxiong Tian Subject: [PATCH RESEND 4/4] PM / devfreq: Optimize error return value of governor_show() Date: Thu, 19 Mar 2026 17:17:19 +0800 Message-Id: <20260319091719.1007244-1-tianyaxiong@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260319091409.998397-1-tianyaxiong@kylinos.cn> References: <20260319091409.998397-1-tianyaxiong@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When df->governor is NULL, governor_show() returns -EINVAL, which confuses users. To fix this issue, return -ENOENT to indicate that no governor is currently set for the device. Signed-off-by: Yaxiong Tian --- drivers/devfreq/devfreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index 4a312f3c2421..7cc60711fafd 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -1412,7 +1412,7 @@ static ssize_t governor_show(struct device *dev, struct devfreq *df =3D to_devfreq(dev); =20 if (!df->governor) - return -EINVAL; + return -ENOENT; =20 return sprintf(buf, "%s\n", df->governor->name); } --=20 2.25.1