From nobody Tue Feb 10 00:58:54 2026 Received: from canpmsgout09.his.huawei.com (canpmsgout09.his.huawei.com [113.46.200.224]) (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 63E8E423147; Tue, 20 Jan 2026 11:23:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=113.46.200.224 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908192; cv=none; b=pN4oFfBUHGgoawluCrZG4H8qpo8aOZmpggiE5rznneu30seddnPigi5Co2xpTNCsJHBp1/0C3HrOdslUb+/FsD5I+wCWongUKFpPMdOfEruUIw4QFyYSSsSUpscYXIhZzhGDw32q3VY3ieVRCM4y8eOlt9J4eVmQGZ/kXfWJht0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908192; c=relaxed/simple; bh=PzT+QO0kJ9zYvI5hNi18tO9yvBDSw0oQQ2MtF4UCYdg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Dp+SnLtcBdEl7GI241dGqHVpKpV1Pdsd4kvx1YAsliHnYPFnjOqsMLAfmr3oLNytBGeh5Lyy6bJceY20g3/YqV/a6KGI8A2dqOwfHioQ22GN9TX3dWcC3Zy45Umdodbfm0sO/KIzgqtSjW715qB+6N10g0CmDF1Y3HZ2nDYQYv0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=h-partners.com; dkim=pass (1024-bit key) header.d=h-partners.com header.i=@h-partners.com header.b=GwdeRM5O; arc=none smtp.client-ip=113.46.200.224 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=h-partners.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=h-partners.com header.i=@h-partners.com header.b="GwdeRM5O" dkim-signature: v=1; a=rsa-sha256; d=h-partners.com; s=dkim; c=relaxed/relaxed; q=dns/txt; h=From; bh=3s7cqoF1GXsTSogLy+zL5S3zwezjc3g5MkRqQadZ/so=; b=GwdeRM5O3+EPiYKOYHoK+yMBTHDJwQ/1Md+gDYzJ0sPAGPLmNpSnKA3CcSwEF4AmGDrDT0qin 4FdHlXrsY/I5kieGgZrN7Zjxp8NatVMYT/J48TqCf9Esbl7m12b+iWXbVYzrbncFebp8UrlnLD4 Fn3TnvdvU7DBH9UA0pcHD+4= Received: from mail.maildlp.com (unknown [172.19.163.15]) by canpmsgout09.his.huawei.com (SkyGuard) with ESMTPS id 4dwPx615qvz1cySb; Tue, 20 Jan 2026 19:19:38 +0800 (CST) Received: from dggemv706-chm.china.huawei.com (unknown [10.3.19.33]) by mail.maildlp.com (Postfix) with ESMTPS id DD52C40539; Tue, 20 Jan 2026 19:23:00 +0800 (CST) Received: from kwepemn100009.china.huawei.com (7.202.194.112) by dggemv706-chm.china.huawei.com (10.3.19.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Tue, 20 Jan 2026 19:23:00 +0800 Received: from localhost.localdomain (10.50.163.32) by kwepemn100009.china.huawei.com (7.202.194.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.36; Tue, 20 Jan 2026 19:23:00 +0800 From: Huisong Li To: , CC: , , , , , , , , , Subject: [PATCH v2 3/3] ACPI: processor: idle: Relocate and verify acpi_processor_ffh_lpi_probe Date: Tue, 20 Jan 2026 19:22:58 +0800 Message-ID: <20260120112258.1595164-4-lihuisong@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20260120112258.1595164-1-lihuisong@huawei.com> References: <20260120112258.1595164-1-lihuisong@huawei.com> 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 X-ClientProxiedBy: kwepems500002.china.huawei.com (7.221.188.17) To kwepemn100009.china.huawei.com (7.202.194.112) Content-Type: text/plain; charset="utf-8" The platform used LPI need check if the LPI support and the entry method is valid by the acpi_processor_ffh_lpi_probe(). But the return of acpi_processor_ffh_lpi_probe() in acpi_processor_setup_cpuidle_dev() isn't verified by any caller. What's more, acpi_processor_get_power_info() is a more logical place for verifying the validity of FFH LPI than acpi_processor_setup_cpuidle_dev(). So move acpi_processor_ffh_lpi_probe() from the latter to the former and verify its return. Signed-off-by: Huisong Li --- drivers/acpi/processor_idle.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index ba4cde028b0e..4b2c740da86f 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -1237,7 +1237,7 @@ static void acpi_processor_setup_cpuidle_states(struc= t acpi_processor *pr) } =20 /** - * acpi_processor_setup_cpuidle_dev - prepares and configures CPUIDLE + * acpi_processor_setup_cpuidle_dev - configures CPUIDLE * device i.e. per-cpu data * * @pr: the ACPI processor @@ -1250,12 +1250,8 @@ static void acpi_processor_setup_cpuidle_dev(struct = acpi_processor *pr, return; =20 dev->cpu =3D pr->id; - if (pr->flags.has_lpi) { - acpi_processor_ffh_lpi_probe(pr->id); - return; - } - - acpi_processor_setup_cpuidle_cx(pr, dev); + if (!pr->flags.has_lpi) + acpi_processor_setup_cpuidle_cx(pr, dev); } =20 static int acpi_processor_get_power_info(struct acpi_processor *pr) @@ -1264,7 +1260,13 @@ static int acpi_processor_get_power_info(struct acpi= _processor *pr) =20 ret =3D acpi_processor_get_lpi_info(pr); if (ret) - ret =3D acpi_processor_get_cstate_info(pr); + return acpi_processor_get_cstate_info(pr); + + if (pr->flags.has_lpi) { + ret =3D acpi_processor_ffh_lpi_probe(pr->id); + if (ret) + pr_err("Processor FFH LPI state is invalid.\n"); + } =20 return ret; } --=20 2.33.0