From nobody Sat Jul 25 00:16:11 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010022.outbound.protection.outlook.com [52.101.56.22]) (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 7289546D0B7; Tue, 21 Jul 2026 18:18:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.22 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657897; cv=fail; b=Heg2Pxpf3creOoF6BmC4RNP5fbvq69Hhf2dDLj3j4Bl+ZbhanbmtcjwaWwfrEda4ZniLMuSupO/2//52Qz+RbjaeNMETgNhALPykHI5skXk3KfBuk/oGwwl78yyu+v0hcFOSuCUlyCNGpTt+hMLViajWT5/RbFhYOBCfFZDdZWY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657897; c=relaxed/simple; bh=82dYBD1zNO8zLPEdTyDFhzcZQDl1xhSBr2H1B4F1X6I=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=l/WpJiKnEVU7Ip2oYZmLSL9e01CIp0K5vIcIMS0cWgw19t13q7qJrfWv7tteHsWMk0lGJJsADI9F35jzDwbU8jrKit0NFLO8oWDR7MFgFogDph5xz6afBcPkFMdbQyQjL0/2To5C80Woft7FfMS9vvI4LQam2+SpGk7jqab66eM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Rj53NtAh; arc=fail smtp.client-ip=52.101.56.22 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Rj53NtAh" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nTsnwr1HIz/6hv3K0uLP9s9WSS4tEHGeXWw14S2NtHmnLe4aW9vkLA+/om3tmaIC9kEeYDWis0h1mHExgh0/gQlMt8MF+vVblExEU5+WLdAdcM2/ZrsQf1CNwsz8NAi7x/tVXH3cytSF8XT3IIbA+csoY39yFrKlms8cdziMoJGn7Ffg9EdiGKA60L9jO8tOPY34Rr6h2dZQyCRsueG8vkCrgHwvrTgrS2JAibnOioe+NH9ff3OClBz7g32Pg53WijsEOrDUofMobXf8o2cZeLm/1HTHITuds6l2wvt2cnmx8+rFaxLzDr9OvoD9Ncujrs3XbHNi/yazZ5IstMmzUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aZbjVO5RMtuUyv9KNJi+VCBRwnYIGGDHEWlDV5rIlBk=; b=dC2mH/5mzkCPrFk4NvT532ylWF042MJqEDAUwvzr9I9xidPvh/souTWmuJCPwnXmosVr4sKdkSA+oktepwCetDd8qGnAaGXfsIjugaN4QGXhgm3hRRcpQZ0i8okca0owiQ3mCaV/b32lOUW1jU7Qpo7xp1X1Ze6wWerD3LAlZ+O03VrPIiRyYpCCzMwclKPH9MLLf0/5zbKbxMNNfFtEU840Y1BZlPwUHME9WNyQW2BkCRydfbVVAQmkX1bmrWmKcv5BtGCrQ/yH9vin7BPu81bTusq0ReqYe3NQxURMw83OjAI2Kv9I7KMGxyVVbxX0p2LfSUeKL5jeANUnoLthpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux.intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aZbjVO5RMtuUyv9KNJi+VCBRwnYIGGDHEWlDV5rIlBk=; b=Rj53NtAhFxCqOqEEHfL02GqHnRTE8dt//PqCkcuTMqHqY/0LAUfOhZk+20cHZizp6dHA6XmKWYZQPVFVvrzX+x8Oo4gGzuw58itZUiBRiKaMUPFLr7smROFtPyGVkjjlzg3WZOVGgqVgLD7DPqex7Jwp4pcQ4ueYepFuT3Ufsfo= Received: from MW4PR03CA0225.namprd03.prod.outlook.com (2603:10b6:303:b9::20) by MN2PR12MB4157.namprd12.prod.outlook.com (2603:10b6:208:1db::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Tue, 21 Jul 2026 18:18:11 +0000 Received: from MWH0EPF000C6185.namprd02.prod.outlook.com (2603:10b6:303:b9:cafe::30) by MW4PR03CA0225.outlook.office365.com (2603:10b6:303:b9::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.10 via Frontend Transport; Tue, 21 Jul 2026 18:18:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000C6185.mail.protection.outlook.com (10.167.249.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.5 via Frontend Transport; Tue, 21 Jul 2026 18:18:10 +0000 Received: from aus0006770c4n-lx01.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 21 Jul 2026 13:18:05 -0500 From: Mario Limonciello To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= CC: Hans de Goede , open list , "open list:X86 PLATFORM DRIVERS" , Mario Limonciello , Subject: [PATCH v2 1/6] platform/x86/amd/pmc: Restore msg_port on amd_stb_s2d_init() error paths Date: Tue, 21 Jul 2026 13:17:51 -0500 Message-ID: <20260721181756.143084-2-mario.limonciello@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721181756.143084-1-mario.limonciello@amd.com> References: <20260721181756.143084-1-mario.limonciello@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000C6185:EE_|MN2PR12MB4157:EE_ X-MS-Office365-Filtering-Correlation-Id: d572dc8e-d60e-483b-5530-08dee7546c26 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700016|376014|82310400026|23010399003|11063799006|56012099006|10067099003|22082099003|18002099003|3023799007|13003099007; X-Microsoft-Antispam-Message-Info: qMr5KeVDXB7H08rnJm4U5deGxbOSBN3CtkR+suvO1ewdB86zxUXpyZlRcwp5INFf/ywET6rrcxY0NAj4aG31hbg1oyr8gRGbsde9UjZBxq2Z8R7AE4qraWE1q74CjX5n2KRobg2Go3GW92Dtb8BXpIb16wsNOEygLbxXWxhCp5Ae1xlM+oumK4Sp3jCb1mFOSzw/8jctyBOZokHh7VngoO/LgiMqPvBB8E6MtmsDOFuMfM9rzaikao5f2yOx8KBP4KNo4E0//PwfuM7F3ylC7f4DjoEaXhG5OZVtQ8iOa0W3SxFxb12Q/GMBrMCfgCEKOlJt8ibhf5ZsQWr243RS0HapjPThjzZiwmre14y0fQQohPBJMm/goSNGlWiIMkCs4axvkJ5fZqnH7kcZRrn0n0w6qsgZxCuz/GKNnS/Ct9V07tPkuUGbz97Ux02t7BhTZoH7YOX7aFMOoUErKR7kFNCqwvVfZg6bFFDpDjjP7Hf4B6M5pPt4gKtDxn461Gnf6YWPIQsqgTlC+1ZOkSwHQzORFgrgPqIvXjAnkj74G2TcVoHiw2qS/uq9hgLjqhaqsCFljBGZo1tLLIEqL7Qfjr87ZB4CQBYxELRhFoYfyrGjyA5KYbGmoAsUUwoGQ9SNnvOTyyFoXYls3JwqLKCfSw5bBrsDZ+j4XkLkvPKu5RHOf8VPoD1LddF1FA51a8/rsmyNzmg20DnTCfl4rkVrGA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(376014)(82310400026)(23010399003)(11063799006)(56012099006)(10067099003)(22082099003)(18002099003)(3023799007)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: n9n48b8fGYHv8HN/CMS3G8oaSFvizjzCs40w2GvCZpi9CLwoZZgMFOzdceRe3lO4eYaD32vu6C/Tl0bO9i7dakOFGFuqwfH2UL5JrMmTrg5uJa0qqVM8BW1eshAAUgJSTZh9pF8zb6nSDsESiF/aAdMB1JKiguRJid16HZP1hwrxMv6aOo75ys01eTqHIbLu9fcS1+Sl3qNIA8HM/gv06DOtA7dfWtMmyIZGZhkL/nrC9aI0/ZsUx9Rb9GE4bu/UYNJyg2IRcdpLMqILFvcj5T7lcJXvouc/ElgCeaC6Q/LowAURRVAQ07XNDf2Md/EDn3CM52jyfqpBClfIi3nSP42lnUtkbmYV2FoKmkM0j5AdGL7Q1sSOxT868cEzg7EkkRokjU+4Ey2TfEbro0EFbIDNl/RUHOQJZxD/yo9VG6htWl5Ul6GCcHY7KVy1+Z2J X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 18:18:10.9535 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d572dc8e-d60e-483b-5530-08dee7546c26 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000C6185.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4157 dev->msg_port is switched to MSG_PORT_S2D before issuing the S2D SMU commands but is only restored to MSG_PORT_PMC on the success path. The early "return -EIO" and "return -ENOMEM" leave the port stuck on MSG_PORT_S2D, so all subsequent SMU communication - including the s2idle prepare/restore handlers - is directed at the wrong mailbox. Consolidate the exit path through a single label so the message port is always restored. Reported-by: Ilpo J=C3=A4rvinen Closes: https://lore.kernel.org/platform-driver-x86/54655f38-edf4-e756-e24c= -5f4cb041d63c@linux.intel.com/ Fixes: 3d7d407dfb05 ("platform/x86: amd-pmc: Add support for AMD Spill to D= RAM STB feature") Cc: stable@vger.kernel.org Signed-off-by: Mario Limonciello --- drivers/platform/x86/amd/pmc/mp1_stb.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/platform/x86/amd/pmc/mp1_stb.c b/drivers/platform/x86/= amd/pmc/mp1_stb.c index 753d630f3283d..83645c0a8d785 100644 --- a/drivers/platform/x86/amd/pmc/mp1_stb.c +++ b/drivers/platform/x86/amd/pmc/mp1_stb.c @@ -289,7 +289,7 @@ int amd_stb_s2d_init(struct amd_pmc_dev *dev) u32 phys_addr_low, phys_addr_hi; u64 stb_phys_addr; u32 size =3D 0; - int ret; + int ret =3D 0; =20 if (!enable_stb) return 0; @@ -307,8 +307,10 @@ int amd_stb_s2d_init(struct amd_pmc_dev *dev) dev->msg_port =3D MSG_PORT_S2D; =20 amd_pmc_send_cmd(dev, S2D_TELEMETRY_SIZE, &size, dev->stb_arg.s2d_msg_id,= true); - if (size !=3D S2D_TELEMETRY_BYTES_MAX) - return -EIO; + if (size !=3D S2D_TELEMETRY_BYTES_MAX) { + ret =3D -EIO; + goto out; + } =20 /* Get DRAM size */ ret =3D amd_pmc_send_cmd(dev, S2D_DRAM_SIZE, &dev->dram_size, dev->stb_ar= g.s2d_msg_id, true); @@ -321,12 +323,16 @@ int amd_stb_s2d_init(struct amd_pmc_dev *dev) =20 stb_phys_addr =3D ((u64)phys_addr_hi << 32 | phys_addr_low); =20 - /* Clear msg_port for other SMU operation */ - dev->msg_port =3D MSG_PORT_PMC; - dev->stb_virt_addr =3D devm_ioremap(dev->dev, stb_phys_addr, dev->dram_si= ze); - if (!dev->stb_virt_addr) - return -ENOMEM; + if (!dev->stb_virt_addr) { + ret =3D -ENOMEM; + goto out; + } =20 - return 0; + ret =3D 0; + +out: + /* Restore the default message port for subsequent SMU operations */ + dev->msg_port =3D MSG_PORT_PMC; + return ret; } --=20 2.43.0 From nobody Sat Jul 25 00:16:11 2026 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012032.outbound.protection.outlook.com [52.101.43.32]) (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 5B7AC1CAA6D; Tue, 21 Jul 2026 18:18:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657896; cv=fail; b=NUdvpNDLJbhGyxu8oZiaz/3+Opnk2r00Kjw1pg4dCF8PjVh+VCkavtXGEdmGMGpB4DyMvmxdKXxQjzVJwpfNphpQ9Me+aQi/x0GC4oAGuUW7cmGlCf8qB8sGDBvVJsLm+MFlrcD+raHx4lz9iQ2O23Py87W0NEbX8u7ebRD+dtk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657896; c=relaxed/simple; bh=DnNjah5xpHPuePsaoUk85vnKR8MuqksnirDEOrfmJuw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hDsS47aH1l7wu4oPT6kR2RKy10hFhsGeIfDyhKZJzPGO2PQhYlJuh6mDkaJuDcrv6Leix3CEsNSmPhC0Oz3utNrl3WowDfVSN70cBYjR8PODN0wDwavHYNBuBBbZYcz8RY7UTBI8Uq0+ngp2rr2oJorwzEKjy3XfWTW3URmjAFo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=bXnpQUnv; arc=fail smtp.client-ip=52.101.43.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="bXnpQUnv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=go63N4OFVviacPAdHb5twG2FsNi5pnWCyO/iP9HGNVTfwHajYmZ34Q1dG/4UIjbczkeOcebl+9fsMJ1zajFdJyMGmtZyVBxdaDGlRpflMb3GpLZZ+FxNl5AlzvhWwL5wNfbJT+C6qRCiccnYtX+AjEySjcQzNmS3EPOmBSfE+9qpzdbOjfoDzJ+Pjs758KrRy1y4YMatSGSk+UK+LseSH4BoVur6P2q5gz7kEJ2Ri1M28ITtwgZPN44WHFRAd+03Ao4joSuhxIB7yU9CW1Kw/oQkAWOrTxoVqSAeAQ4NdTagXoAJg45dcfLFrEdvqnK9QXcDZILA53k0RMRcoo2bqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=f0chq/1njpj9Rzwr2MzgfXVVkEgQwrfr6HOZvEIEGgQ=; b=aaxziu7e9uD2V/NgERlxAQnaq9qt8auBAn3DN+Zgeu5JrbPVAkViZw3uV9E2Gfi4oepdIFyvFfOSo45gTLnAuGAMn0iD0X9hiy0y7fKs11VfGsxJMAytIVB2/QSxaszAc1Cc8r4413/46H8BJAXflNPHNA6bqQMHxLNYcp48duPUMUJ/IHOyEUK9NI0yUrX5p52o+4Qrc4zjMzzpRAH6OVrIdZj9kypPvH1jbm6rDc9f0YeM4cqYqctjcAbRMaQroNyssqxfpstAyUSpiXnfJUjzfoDw7teJMOVCMKE4YCfzpPis49qIQCfmOln9zmc02zUWOR2uh23Aaean1X4UQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux.intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f0chq/1njpj9Rzwr2MzgfXVVkEgQwrfr6HOZvEIEGgQ=; b=bXnpQUnvp0dlxoZRqp6U/NuRxJW/74IbCV56TtKfJmK+k1Z4pkc5w/HXweBVeyfkv3CjKsovfcoxgMnDOMW9BPgmLhb7dgKriiG3h8aSY9llutDEA7daeWDHO1RPp/ihJfBykjgcwXMUAFnd6uTW9l9/UZMuxZvAHbuimJE3s84= Received: from MW4PR03CA0214.namprd03.prod.outlook.com (2603:10b6:303:b9::9) by CH3PR12MB8753.namprd12.prod.outlook.com (2603:10b6:610:178::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Tue, 21 Jul 2026 18:18:12 +0000 Received: from MWH0EPF000C6185.namprd02.prod.outlook.com (2603:10b6:303:b9:cafe::16) by MW4PR03CA0214.outlook.office365.com (2603:10b6:303:b9::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.223.18 via Frontend Transport; Tue, 21 Jul 2026 18:18:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000C6185.mail.protection.outlook.com (10.167.249.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.5 via Frontend Transport; Tue, 21 Jul 2026 18:18:11 +0000 Received: from aus0006770c4n-lx01.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 21 Jul 2026 13:18:06 -0500 From: Mario Limonciello To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= CC: Hans de Goede , open list , "open list:X86 PLATFORM DRIVERS" , Mario Limonciello , Subject: [PATCH v2 2/6] platform/x86/amd/pmc: Fix msg_port restoration in amd_stb_debugfs_open_v2() Date: Tue, 21 Jul 2026 13:17:52 -0500 Message-ID: <20260721181756.143084-3-mario.limonciello@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721181756.143084-1-mario.limonciello@amd.com> References: <20260721181756.143084-1-mario.limonciello@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000C6185:EE_|CH3PR12MB8753:EE_ X-MS-Office365-Filtering-Correlation-Id: 3316c815-b4bc-4371-eccf-08dee7546c8c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|1800799024|376014|23010399003|6133799003|56012099006|11063799006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: Qwf0WDRVQIrTWdixouAyW4pip7LLglr/fc2iF2HDUbF0/2AMGphinMN609xKgZ0lqUBNWU3Ob4FId1zCZ7DB4oERAINDfQi1kw4YKV5n1uKzLJ6XxJHG78H1K+NW1xKhn6UAhNI+00Upo/XMJMTfK60vqGuqbLsfAdDg8V69csP3ceDNS7MSESKpBHAkABsBmOYMeif5fWxShRSdDMLyGknEfl91e5C0NzJPxkMZbgpL9XZmZA0LIdKo6RfADd+SAnQbNilJoDgsNZRE9ZGZsSS7o5ZMbhF3w1SYwomI0uKl382FufwbHM36wKxyyOHh/hdYHfNpCEtPmlY9z2GrQzKFq3Utn4hphMexVc7odzXzmI0aPv4+JSwUeiGqCeb5C0Tk1a+pHBoNJ6uFegnRG7GK3iOV+Ir4eWyNPPSmlFamyQ8ia2Bv/TcTFBjUNSKUPSzmq9i8ocluEeMbBdtwpJUG6Z4cjYx4+rQZ12Q2Isrm/e6xcjhbDVcfVn1fECThQw9Se6gXJ77yc2g14DwZ/W1eSsXlzHCcoh5iBOvU2MHW7rKwjrWF4fJMBdqnhv19o4f7476fYm2GdYKsu47j7lpO3MyFKIs/CbjOfSxKkPqlqBDkIPPQnutqHhhPHCtpdDDdqaZZT4/u/gfv9YSceE0+6obDJLlsxOpdcbi4wphWvp2CyvNkIFSVXNbf0Vio7WRfJ4TPWaciBvv6kp/t9A== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(1800799024)(376014)(23010399003)(6133799003)(56012099006)(11063799006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XaVNNfe1KDCKkjaEQdwYesHjVyitwHk+/C3ZMMlw28XNSyjQ4AzCNiPC6D6hvLSyqIVF/eQEMyDkdkdccAAvQLeXS7xQ1RQaVYZLvlyVBMVh+zId5ckR19wMVSWilXhKnLMsjpP/Rx/x15nUUCq+b96DzqeeXry1OWVMPFMqWJzedMQzgtx9GnVLsod8UHeybgb4OeQYl6Vb7hVZ2NRklyGyTmd+NIkBrLjoYXxyxRpvY+VPfCCwJz8XDQ4+V6gngmxqxHUNLHpAz3JvoryxK30aCeZLIpuPEh1nRT3NGo3Jpf+IAq8YoaWiIQcXGLGOIRNvdRWkJ2oriZIxUwJk5YAJmxICGMajlKd6rOeZCcNDJF6ZOEQf/y7dHoqVRz/l7+tpV3DiDB99xo+jXjLQD1bi0Ry+HawW6TAh78YpUjfqADcSsKKm5Iv0qamu+7w7 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 18:18:11.6282 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3316c815-b4bc-4371-eccf-08dee7546c8c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000C6185.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8753 amd_stb_debugfs_open_v2() switches dev->msg_port to MSG_PORT_S2D to query S2D telemetry but only restores it to MSG_PORT_PMC on one path. The early return on the dump_custom_stb path (and the error/allocation returns) leave the port stuck on MSG_PORT_S2D, so subsequent SMU communication - including the s2idle prepare/restore handlers - is directed at the wrong mailbox. Consolidate the exit path through a single label so the message port is always restored, mirroring the fix in amd_stb_s2d_init(). Reported-by: Ilpo J=C3=A4rvinen Closes: https://lore.kernel.org/platform-driver-x86/54655f38-edf4-e756-e24c= -5f4cb041d63c@linux.intel.com/ Fixes: 2851f4f8ed4e ("platform/x86/amd/pmc: Define enum for S2D/PMC msg_por= t and add helper function") Cc: stable@vger.kernel.org Signed-off-by: Mario Limonciello --- drivers/platform/x86/amd/pmc/mp1_stb.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/drivers/platform/x86/amd/pmc/mp1_stb.c b/drivers/platform/x86/= amd/pmc/mp1_stb.c index 83645c0a8d785..90b8a5cebfa82 100644 --- a/drivers/platform/x86/amd/pmc/mp1_stb.c +++ b/drivers/platform/x86/amd/pmc/mp1_stb.c @@ -157,7 +157,7 @@ static int amd_stb_debugfs_open_v2(struct inode *inode,= struct file *filp) struct amd_pmc_dev *dev =3D filp->f_inode->i_private; u32 fsize, num_samples, val, stb_rdptr_offset =3D 0; struct amd_stb_v2_data *stb_data_arr; - int ret; + int ret =3D 0; =20 /* Write dummy postcode while reading the STB buffer */ ret =3D amd_stb_write(dev, AMD_PMC_STB_DUMMY_PC); @@ -176,22 +176,24 @@ static int amd_stb_debugfs_open_v2(struct inode *inod= e, struct file *filp) * the enhanced dram size. Note that we land here only for the * platforms that support enhanced dram size reporting. */ - if (dump_custom_stb) - return amd_stb_handle_efr(filp); + if (dump_custom_stb) { + ret =3D amd_stb_handle_efr(filp); + goto out; + } =20 /* Get the num_samples to calculate the last push location */ ret =3D amd_pmc_send_cmd(dev, S2D_NUM_SAMPLES, &num_samples, dev->stb_arg= .s2d_msg_id, true); - /* Clear msg_port for other SMU operation */ - dev->msg_port =3D MSG_PORT_PMC; if (ret) { dev_err(dev->dev, "error: S2D_NUM_SAMPLES not supported : %d\n", ret); - return ret; + goto out; } =20 fsize =3D min(num_samples, S2D_TELEMETRY_BYTES_MAX); stb_data_arr =3D kmalloc_flex(*stb_data_arr, data, fsize); - if (!stb_data_arr) - return -ENOMEM; + if (!stb_data_arr) { + ret =3D -ENOMEM; + goto out; + } =20 stb_data_arr->size =3D fsize; =20 @@ -214,7 +216,10 @@ static int amd_stb_debugfs_open_v2(struct inode *inode= , struct file *filp) =20 filp->private_data =3D stb_data_arr; =20 - return 0; +out: + /* Restore the default message port for subsequent SMU operations */ + dev->msg_port =3D MSG_PORT_PMC; + return ret; } =20 static ssize_t amd_stb_debugfs_read_v2(struct file *filp, char __user *buf= , size_t size, --=20 2.43.0 From nobody Sat Jul 25 00:16:11 2026 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013025.outbound.protection.outlook.com [40.93.201.25]) (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 71B6746D541; Tue, 21 Jul 2026 18:18:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657901; cv=fail; b=Hwm4+JtmZR4QFgs8reA/ernzJeX239GVH0YAFbGYrdpIyw6G+8oL1hJ952af1RUfjMFvbzL75b2HmMjVtmZXNGeawyU3wVssaV8i5UX1/VIj8911RxWgROrUQMBpyYtt1dBCQtBRJpovPgdodVGqdaTcFzPWIh1crccUzaMpD6k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657901; c=relaxed/simple; bh=fdhI+lapjR2mKosbVXJPW4fydzhqVXqbEfZgscHmPF0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fC6hQPUPDFleUW7/FGrgBH4wz28in5rnZiNJbcMq2ao30cVP/7iM7gRzylT5IR0inWLInOf9pE+023nKsRKpbtauVBvEgvn7lyqsChvI0zhlR/88TDoCRLRS75bnf6dTg+f8IF4IUqEWgZ0nCF4YI7rd+vAEDNSPgH+vDPpxzQI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=jNW/WoVg; arc=fail smtp.client-ip=40.93.201.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="jNW/WoVg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gY6LKxHjvLXyAC9nI/ZQupPwNU9PLhi0nld2zKjjS4ryB1/G/fTDT3LNXA44EneEHbnKDTTVuJ+WyBdkFgGqTLj1mS2ZGlInFL/zaloMI43munZVLei43geli3/TDsfpXsndJAvYQtekGpm9TotWniNLGg08bp+A8sCih9NT8T2HXFv8XGnIbBGB3IcVt6/Pbeic4ta6hOxB/C01IbxsaJZLR6km2u0g7tprYZpBV5g79Ky/7+2CouKWOimba1MX4GRIlbVO/Avx4iJ3PGYgH10Dw7G8kOWFu7kshQQUusU6ZGogZkjqNnazY1tjc31mzFc1oI4xLI8/JfDihgrG2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=r536CnIwqq+LVO4xQQaswQRBss1DLai2J6ZXyHPx4jE=; b=FrKl/o2qXbGLPQxTweE3fF+K/3gfOZmxyj9R4F7KRIlccI2haviYwUdTIhMYi84v/iTwV4KWWcpUEc6OK3xuEkspyM6KSMfhS5Ag/tckC65QECxAliGaYyuQtrUouvFDuZjzJUq70XV+iiYm2KPCWyaEcEojqVP6e7lkgKs/dqdLi/VuGxUkjgVUB90U5CbDS2mEe7pZ2vhym5a2dWJDoDvg1AKA3As96MG2yxKjZ+cyG0waW1QwFQUvROHM3fPRHkIQ+RLLFwzW40JCfSKtJv6tqGSBNLwTcswnalMTz8Vl/24r9dcKxYNwrf/c/hhmh0gSrdEYlAHkF/uA7J26Fw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux.intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r536CnIwqq+LVO4xQQaswQRBss1DLai2J6ZXyHPx4jE=; b=jNW/WoVgNahRmWU85NSk7wfIaFvP1a2nrwEQXBsTG8CSTfB62ZVgPSXNu4XdcUUm90Y5JFMcjB0kLiwPesbsQroFj2yNuelFKJZ6SRTLOLNBPJdUcR2eG6scFXkFh72MdhWkb4t40zYT2Ln6+KZePS+2cnk/RoW41Ift2eE5+mE= Received: from SJ0PR03CA0298.namprd03.prod.outlook.com (2603:10b6:a03:39e::33) by SA1PR12MB8843.namprd12.prod.outlook.com (2603:10b6:806:379::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Tue, 21 Jul 2026 18:18:15 +0000 Received: from MWH0EPF000C6189.namprd02.prod.outlook.com (2603:10b6:a03:39e:cafe::9d) by SJ0PR03CA0298.outlook.office365.com (2603:10b6:a03:39e::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.10 via Frontend Transport; Tue, 21 Jul 2026 18:18:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000C6189.mail.protection.outlook.com (10.167.249.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.5 via Frontend Transport; Tue, 21 Jul 2026 18:18:13 +0000 Received: from aus0006770c4n-lx01.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 21 Jul 2026 13:18:06 -0500 From: Mario Limonciello To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= CC: Hans de Goede , open list , "open list:X86 PLATFORM DRIVERS" , Mario Limonciello , Francis De Brabandere , Subject: [PATCH v2 3/6] platform/x86/amd/pmc: Propagate SMU errors and validate S2D address Date: Tue, 21 Jul 2026 13:17:53 -0500 Message-ID: <20260721181756.143084-4-mario.limonciello@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721181756.143084-1-mario.limonciello@amd.com> References: <20260721181756.143084-1-mario.limonciello@amd.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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000C6189:EE_|SA1PR12MB8843:EE_ X-MS-Office365-Filtering-Correlation-Id: f9ede1fe-671b-4eb0-dd0f-08dee7546d6a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700016|23010399003|1800799024|11063799006|56012099006|10067099003|3023799007|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: lLmxbEy87Qp5SV6CGUHZN3XJapn8c8siP7ExIqd+v97Rd0KI/4G7zXrVjqZnO72bf164ClJaSCCFdYbN5/sEFuxuZhNHCRvFEMfKQFZWviwxStXqPbh7wlM1QI+KVF4Hbu0etyv+JknDaTs6A611tk9jelgJpumR7IUJieJmxQFqwSlFkjZRQ+5TEhYSTCwKQy8saVXH68IC8R2iAIbweUkrqss+wgR6CFttY4bPU7wl/oaymFjyz289HetPJNKYr+4DJDGI0aT7BUbEzJYO1QyzPp0H45X0beAhefan1xuzcTKDUtDp8N1zkzcaUB3XcEyCE4pX7NZOwNGtjOwVVQZtFEEIP7hVM3ROylXFgTmQIZW8qYz8yhpvvhty9tGMuy8PGEbEhhoT31jYGjAy0KjAR1h582U7XoGiO54OBompgxDoLaPgtdzeVI5A3SVU75iU/U0X+7l1HyuWkEAm0jG4SDOIcLgPRYBJ4ZH2u/FEdAau1qqJjvFTxUkpBTcwTB+4JTBdRpxqa1pnVi7CynArQ8PNw0EG0jO9/sIzYj4x8E4kc8kE7V98Exm88jrEN1YgQbWA3oR2cyPOnGZ5amUfKnvmxJE+fo3az+Sq/Qg4+EHX2R+y9U8kS0zaDIS6tPuQpMcomfDuAesj+IRt59UAJiZBeiH+9PrVWq1z4IXORJKU3DM2vexRaFPs/c2/x8+VaEan1i/7Mr+cb0tFlw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(23010399003)(1800799024)(11063799006)(56012099006)(10067099003)(3023799007)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PHAW1BRazrd5quV4mq2BqsrvkxgS7Pe5O7mq/1HTAANBQENRREgd4y4Ch+Tk6EHB5lq1tdm4bwTYkpZfvQlGyudiSVbysXFtbihxyLl3HAA2/knU3KENuhV4dt0C7nHwfej7kFL0ILg9uOVffGzHUDbU98LQrAv9Wh67xo25Amva3Wc5nE33DFTomuKfyluD5mSkSB4N2VE9R4ZlJxWOkpaAr27iGdbcL9vFAMEOKZEGNzYeBR3AvhyfujB1xa0zuzVODW/zh3L9rpioDU2ChhL7OX1wbodoA3npvgqfg0jmxER5EOCcGQDdHo5OrbOv0nbYi2mBdBOmIGl5MNjUjqHiI3Mg8vMLbMZsVmD/HrXgCPnMkgLjZAiOm75SCoDe/DfN40wKlm/pg9Mq5O1TzBplZw+SAsr6gs65LFOkn4Bwg8bXu8YdTgucdQecQaDl X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 18:18:13.0834 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f9ede1fe-671b-4eb0-dd0f-08dee7546d6a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000C6189.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8843 Content-Type: text/plain; charset="utf-8" amd_stb_s2d_init() discards the return value of several S2D SMU commands. When the SMU refuses a command (e.g. "SMU cmd failed. err: 0xff") the failure is only noticed indirectly - if at all - and reported as -EIO, masking the real error. More seriously, the S2D_PHYS_ADDR_LOW/HIGH return values are ignored, so on failure phys_addr_low/hi are left uninitialised and the assembled address is passed straight to devm_ioremap(). When the SMU leaves them at zero this maps physical address 0 and trips the ioremap-on-RAM warning: amd_pmc AMDI000B:00: SMU cmd failed. err: 0xff ioremap on RAM at 0x0000000000000000 - 0x0000000000ffffff WARNING: CPU: 13 PID: 4592 at arch/x86/mm/ioremap.c:... Check the return value of each SMU command and propagate it, and reject a zero physical address before calling devm_ioremap(). Reported-by: Francis De Brabandere Closes: https://bugzilla.kernel.org/show_bug.cgi?id=3D221759 Tested-by: Francis De Brabandere Fixes: 3d7d407dfb05 ("platform/x86: amd-pmc: Add support for AMD Spill to D= RAM STB feature") Cc: stable@vger.kernel.org Signed-off-by: Mario Limonciello --- drivers/platform/x86/amd/pmc/mp1_stb.c | 31 +++++++++++++++++--------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/drivers/platform/x86/amd/pmc/mp1_stb.c b/drivers/platform/x86/= amd/pmc/mp1_stb.c index 90b8a5cebfa82..1ec0e599df7f3 100644 --- a/drivers/platform/x86/amd/pmc/mp1_stb.c +++ b/drivers/platform/x86/amd/pmc/mp1_stb.c @@ -311,30 +311,39 @@ int amd_stb_s2d_init(struct amd_pmc_dev *dev) /* Spill to DRAM feature uses separate SMU message port */ dev->msg_port =3D MSG_PORT_S2D; =20 - amd_pmc_send_cmd(dev, S2D_TELEMETRY_SIZE, &size, dev->stb_arg.s2d_msg_id,= true); + ret =3D amd_pmc_send_cmd(dev, S2D_TELEMETRY_SIZE, &size, dev->stb_arg.s2d= _msg_id, true); + if (ret) + goto out; if (size !=3D S2D_TELEMETRY_BYTES_MAX) { ret =3D -EIO; goto out; } =20 - /* Get DRAM size */ - ret =3D amd_pmc_send_cmd(dev, S2D_DRAM_SIZE, &dev->dram_size, dev->stb_ar= g.s2d_msg_id, true); - if (ret || !dev->dram_size) + /* Get DRAM size; fall back to the default if the query fails */ + if (amd_pmc_send_cmd(dev, S2D_DRAM_SIZE, &dev->dram_size, dev->stb_arg.s2= d_msg_id, true) || + !dev->dram_size) dev->dram_size =3D S2D_TELEMETRY_DRAMBYTES_MAX; =20 /* Get STB DRAM address */ - amd_pmc_send_cmd(dev, S2D_PHYS_ADDR_LOW, &phys_addr_low, dev->stb_arg.s2d= _msg_id, true); - amd_pmc_send_cmd(dev, S2D_PHYS_ADDR_HIGH, &phys_addr_hi, dev->stb_arg.s2d= _msg_id, true); + ret =3D amd_pmc_send_cmd(dev, S2D_PHYS_ADDR_LOW, &phys_addr_low, + dev->stb_arg.s2d_msg_id, true); + if (ret) + goto out; + ret =3D amd_pmc_send_cmd(dev, S2D_PHYS_ADDR_HIGH, &phys_addr_hi, + dev->stb_arg.s2d_msg_id, true); + if (ret) + goto out; =20 stb_phys_addr =3D ((u64)phys_addr_hi << 32 | phys_addr_low); - - dev->stb_virt_addr =3D devm_ioremap(dev->dev, stb_phys_addr, dev->dram_si= ze); - if (!dev->stb_virt_addr) { - ret =3D -ENOMEM; + if (!stb_phys_addr) { + dev_err(dev->dev, "S2D phys addr query returned invalid address\n"); + ret =3D -ENXIO; goto out; } =20 - ret =3D 0; + dev->stb_virt_addr =3D devm_ioremap(dev->dev, stb_phys_addr, dev->dram_si= ze); + if (!dev->stb_virt_addr) + ret =3D -ENOMEM; =20 out: /* Restore the default message port for subsequent SMU operations */ --=20 2.43.0 From nobody Sat Jul 25 00:16:11 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012017.outbound.protection.outlook.com [40.107.200.17]) (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 EFEB246DFFD; Tue, 21 Jul 2026 18:18:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.17 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657901; cv=fail; b=f9yg7xTwl8El+mn0TLVXdIunpjKsnhzUZtQx9orzif7K7k7eVUwjeEapGBoAQNuvfESZDIaqMkqIp0BHRVM6I1lgn9qkAk4VH2Rnidv7wxKc1vpJ8gr4hxMPr7lg5eYQZAK2rXLN3E7uRwbcD75O1QMsQxsbYhIkDH8p4SiJRWo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657901; c=relaxed/simple; bh=sd9bLmUH6pu4zQpbTm0vasXHPzIj3cL9/yHrSo3Rj5M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mAZl1s5rOScu76yCTUYEVPakHxyMgjRfYw2cQQwIKzXd91iUBDj/5JhGBI7Jxc0zFwcbi0RCtKWfOlF/rE3WJKQNi7yfKFqDOIqj3Q6Q6bB4yG4vXpDiTMv5IEhQ8FYfCJSmplsWMalEC1PLGd+b0jbnox5lD/LypyoCGek8NEo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=PI3bXBdr; arc=fail smtp.client-ip=40.107.200.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="PI3bXBdr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=liK+tsDtnA9RBEGe3D8T01QTytCEPVvCvlgZWKrqKcLQFjPpmMfMmK+qCf8P+MdRCw/KMphSRLjs/5FsUW+zXLHkFfuTMhqTeOdWQHbO+Vfx97mEmD3WMyqY7bjYdTw22jNLE7XpCS6bdJvAYGmMJMKRTiwyCESO7o9+ouBign7LtH5PN3u7yfZSzki6t1giD6zvu8SFe1x2xdiRuwGt2B99S6rFvk7nUH9yDqyupWL5dopTMdGDrHVeFj0G2RGgtgQXxYTwU0/NsyQQrKTE8Rk8mUJJdRnZGHBw+thZxpUEsdjNinpCTDiyE3LtlD6x+XObNfu6sGRX4NgOeYrTcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LoRbboKruU5jV7hDJ23Ht72OMQDuq851jPtBBXhdEWM=; b=sW4CXZyPE0soXle88NmoMtVId/ZQh09KvI0Lq9AH76sV561eTFaPEiJo6zdpet0iTAN5zQYEIX3L6Q00/NJrlt/6FAWqutIjYx24ZSNx+APeIW4SGJ7vrpo++Gj4LEDQ8DBQnLTqoogEJJLSQT06M5PNuNiFxieI7SO8G2NOpYBm11La/67b0rGhAnr3vUU9A/zNuxgKnVaIu+iG15WYEfa/YVNX5fOrecTwc4RSYxOfxxi4hhoey4LZgR2DF7xfIxmjaCDCqsY2WwysyyRCgY41MapsnsT92Eht0y3a1QWGo4xDLcazfEO9wi7LZSnQ9xhmRPxnzxTNza74569ZXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux.intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LoRbboKruU5jV7hDJ23Ht72OMQDuq851jPtBBXhdEWM=; b=PI3bXBdrP6N5f6yvO6fXAteFuqGQd3JvNL0JqPj0/mUa8I0dDYtl22Kie3UI8IJVqkKJrSJMwgTtn8KT5LEBnixz4i8kmSl4ZOkyYDB8MYd/7MOxD8K0fmIw7GUXx4LfaVov+ApVDOnvhJaiX72OyOHRDZvuhURzaTK4OVxKpXI= Received: from SJ0PR03CA0272.namprd03.prod.outlook.com (2603:10b6:a03:39e::7) by SJ0PR12MB8165.namprd12.prod.outlook.com (2603:10b6:a03:4e4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Tue, 21 Jul 2026 18:18:16 +0000 Received: from MWH0EPF000C6189.namprd02.prod.outlook.com (2603:10b6:a03:39e:cafe::5b) by SJ0PR03CA0272.outlook.office365.com (2603:10b6:a03:39e::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.10 via Frontend Transport; Tue, 21 Jul 2026 18:18:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000C6189.mail.protection.outlook.com (10.167.249.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.5 via Frontend Transport; Tue, 21 Jul 2026 18:18:15 +0000 Received: from aus0006770c4n-lx01.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 21 Jul 2026 13:18:06 -0500 From: Mario Limonciello To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= CC: Hans de Goede , open list , "open list:X86 PLATFORM DRIVERS" , Mario Limonciello Subject: [PATCH v2 4/6] platform/x86/amd/pmc: Only expose stb_read after telemetry buffer is mapped Date: Tue, 21 Jul 2026 13:17:54 -0500 Message-ID: <20260721181756.143084-5-mario.limonciello@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721181756.143084-1-mario.limonciello@amd.com> References: <20260721181756.143084-1-mario.limonciello@amd.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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000C6189:EE_|SJ0PR12MB8165:EE_ X-MS-Office365-Filtering-Correlation-Id: bc8256ff-d5c1-49b3-b79e-08dee7546edc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700016|376014|23010399003|82310400026|56012099006|11063799006|10067099003|6133799003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: mJpQznGQJqf6lgwHHGlB4v+NoNyvsutjkSyCTUcT74bU9+irL1V9pUBfmzlylOesc9z6zwt+PysMGrj0EJ6/JLEBJjFH2KCF8/pFzanRK+HE4W5kLVckjl1EnV3P+A3PutpcpEfsPzxv8JmzVwHaDMfq1UNON4SHbHN3wXZKkcfpNHLqjA7KyO8XT5l5e9hwbP6Dbv20r5LcXMG1PDK88kAXZyeE+0JBuiNGWZwfwjy0x6F39FVkIE/xHFFT5ojQzfUOVau/Pc5bNqo5i1Lpqi7MvOMUZn1wGg/YMMtOUUkvixcMQkXcIzXVaINZCRcipKF/OFNZ7fCP1sqQ+l2VyjCESdYlW7JTSNIuF8MqGUpb/icPjqzY56e85htFWV3QC6k+dLFUbXwT7BkPhlhciKeO4UWD2TUYpRifg8eTQTUory7INU8VGE1s9yLsqt0EvVp1fC9eHvswkvMj/3qSG5SVDBOF9P+fvvQarFl2yH/pcvAAgnkX4mGjUC96aHKguRTqg6ABV1o/wDYu7otNj/4O0lRFIhPn2DKKJgKYW7CRLOh2QoPTok2Th2m1SJfx1XdY9yBj96DPaKzGQDYA+/tWNllxNZuraUAfsoEYBxHet+X3Ajl9p6cQvmhkp2WiGPCIDbEFfKtpoZoRA87rlCYXs/doFIIZ5wa0aV/txjhibipTBWD7CvnSN8TFPlHvC5NfEYIYiIBoZugBx1DGwg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(376014)(23010399003)(82310400026)(56012099006)(11063799006)(10067099003)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: X6AAnEGqcQ/rdKAhI0/sOgWiE9Cs6r/AB6F0BqNObAu7AQaE8OYGzgD8TIhGBWlOYVrKzXyvFkvS5dJ3XGnQ74t3jEDcEABhgq1ho8KZqmciL6hDGY6YMEnOotEIxiHWqGkwEwKEbX0+pP+fN9fmaRb6ZNwHuzys4/RbKXhDWt80KhgNLAngSQBJRWPkYFgfqpkbTiMgttfDaZF7nUhZWE7Boggq9inF6fhzvS47LNiyqeozEY8OvdnUjn9+PHB+T0shOp86Rw/BnKU2Fok+Z/JDBiGrHTtfx/vFSUPP5Sx5KUfENXAf8KOXk/rHgjxLIFtJq4XWHJnPNoS/b6I9cZ3cJm9dvS9kbAy7tN2PEK7KjBsgcIOuuELjnJYu9zVCdQknggqiUV7CCGyXhQZQo54no8FFIy1QqeGvaPDffOUWpEnmv/ygjQ51RmSCaAHC X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 18:18:15.5072 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bc8256ff-d5c1-49b3-b79e-08dee7546edc X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000C6189.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8165 Content-Type: text/plain; charset="utf-8" amd_stb_s2d_init() creates the v2 "stb_read" debugfs node before mapping the telemetry buffer into dev->stb_virt_addr, leaving a window during probe where a read faults on a NULL dev->stb_virt_addr in amd_stb_debugfs_open_v2()/amd_stb_handle_efr(). This becomes trivial to hit once a failed STB init no longer aborts probe (next patch), which leaves the node registered with a NULL buffer. Create it only after dev->stb_virt_addr is mapped. Signed-off-by: Mario Limonciello --- drivers/platform/x86/amd/pmc/mp1_stb.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/platform/x86/amd/pmc/mp1_stb.c b/drivers/platform/x86/= amd/pmc/mp1_stb.c index 1ec0e599df7f3..8a33e75b71c34 100644 --- a/drivers/platform/x86/amd/pmc/mp1_stb.c +++ b/drivers/platform/x86/amd/pmc/mp1_stb.c @@ -299,10 +299,7 @@ int amd_stb_s2d_init(struct amd_pmc_dev *dev) if (!enable_stb) return 0; =20 - if (amd_is_stb_supported(dev)) { - debugfs_create_file("stb_read", 0644, dev->dbgfs_dir, dev, - &amd_stb_debugfs_fops_v2); - } else { + if (!amd_is_stb_supported(dev)) { debugfs_create_file("stb_read", 0644, dev->dbgfs_dir, dev, &amd_stb_debugfs_fops); return 0; @@ -342,8 +339,18 @@ int amd_stb_s2d_init(struct amd_pmc_dev *dev) } =20 dev->stb_virt_addr =3D devm_ioremap(dev->dev, stb_phys_addr, dev->dram_si= ze); - if (!dev->stb_virt_addr) + if (!dev->stb_virt_addr) { ret =3D -ENOMEM; + goto out; + } + + /* + * Only expose stb_read once the buffer is mapped; otherwise a read + * faults on a NULL dev->stb_virt_addr, now that a failed STB init no + * longer aborts probe. + */ + debugfs_create_file("stb_read", 0644, dev->dbgfs_dir, dev, + &amd_stb_debugfs_fops_v2); =20 out: /* Restore the default message port for subsequent SMU operations */ --=20 2.43.0 From nobody Sat Jul 25 00:16:11 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11011022.outbound.protection.outlook.com [40.107.208.22]) (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 3869F46EF61; Tue, 21 Jul 2026 18:18:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.22 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657905; cv=fail; b=H6BoSuaCMoQF1+iUIRIUL7I38GRTgR2Lsqz3KdUV7L0Z5A70oGhRiOp7g1WazuzZ96L5soOpWsECxFVOCEqdf13XCPmIl21Kg8R5Jd6oliW8vo4lGp/accrgu+99gCWAv2u20lzBkDbfAi3l12JGroNf1xDH4j2PtVKDKjDDeo0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657905; c=relaxed/simple; bh=yGyZXBPgSYqdf4QO5vV9d8Dh6DxPduvmuJ3PhiLwoz8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=U3p6Iu37BMQCuRQqLBcCH7kOkNgTxdz1+SmahQMj2VAU0iisAPrl1uS++ZvezmUZ7jcERZUJjItAoXXSDyhIWfy0dlVmcm71f7goDyK3p+ZB/hRzavWMCaxiDSgFVtXx5msY7F+NWPphBPuQEy5tJ0yex+szW+suI7Yn6IgAy24= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=v1sUVgDM; arc=fail smtp.client-ip=40.107.208.22 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="v1sUVgDM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fYGzZOw8M5/SX5L7O2mz8ofVuDtfSxWv6y0avxD1M5PgxfL6Bsb5XFQFO0q92JSM7gkiVEKkLgPvmQUZDoV+Kyc6FAnwrB0p/It646fmxmzcz2mw3H3wdQWfamesWsITm1ylPBzag5M6eP4fCrXusyQSEH3E8PHIiRTh6Qx0Htp59LV7ytRG1poEP7MV/cgQMjaDsnrLyeiKwJqJY3UFbjl0ADN176xHMKX8nhO+WrpiP3F3v64tKXrGC63yz8AWUeCjd7XvVYPesBYrm0+XPuNz6V0XQKuGyueR6ezxoNchfdlQ5c/SHEeRCaGhcN30WuIBRuvpdVdBJ07JpDadrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bjf2VUlWJ4eNSrJy79PbE67BQdPF0GVE1c/BjBr6XMU=; b=rHIn4+UuGX60bVuYNXJ2rf5UEPwXv3ZxINrVhfusLHCIC7MyCbf1+2jDO6ezUcMOJf0oIF3ZLmJRrrDzPZegqIlIGZfJ7KumO+BiXHiDXxV4+D2WQCuhzAAyxPiHVgfVaR6pfc5fvOyoUoHJVkBsJSTjKZkGF0Xbv67Vhq5R2YIkMnvB8f9GCbkpuUvmSgrptA1yH03LWGDXV2d75ezbRmtJ36Z90FdguUdR0vcwBhb2LPuLW0lnd1UtzCJfwyZDHzAGtZ/++Hk59W3LC74sjgFb55tfxpAg6gWj6odkH+PzCkv5mW0Cvt8B0rtf4mIfHxJqz3VfTY7hEzC+UIOZuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux.intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bjf2VUlWJ4eNSrJy79PbE67BQdPF0GVE1c/BjBr6XMU=; b=v1sUVgDMAORbsgFzFTOcJRTrkR0oY4uPc6HcZuniiqGUuIXMMOvrnjrJ0bkb/YYol6jHgzr8kS0nW8DMjVzlc7FUJYEUOgjWhVDRmsedcZ6AnfI1ApRJ69H+5GhAF1gxWmftnM/6rfMXbc73YPvgPC4elw1LCXxcQcoMpOuHiVQ= Received: from SJ0PR03CA0275.namprd03.prod.outlook.com (2603:10b6:a03:39e::10) by CH3PR12MB8236.namprd12.prod.outlook.com (2603:10b6:610:121::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Tue, 21 Jul 2026 18:18:18 +0000 Received: from MWH0EPF000C6189.namprd02.prod.outlook.com (2603:10b6:a03:39e:cafe::47) by SJ0PR03CA0275.outlook.office365.com (2603:10b6:a03:39e::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.10 via Frontend Transport; Tue, 21 Jul 2026 18:18:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000C6189.mail.protection.outlook.com (10.167.249.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.5 via Frontend Transport; Tue, 21 Jul 2026 18:18:16 +0000 Received: from aus0006770c4n-lx01.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 21 Jul 2026 13:18:07 -0500 From: Mario Limonciello To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= CC: Hans de Goede , open list , "open list:X86 PLATFORM DRIVERS" , Mario Limonciello , Francis De Brabandere , Subject: [PATCH v2 5/6] platform/x86/amd/pmc: Fix LPS0 and debugfs leaks when STB init fails Date: Tue, 21 Jul 2026 13:17:55 -0500 Message-ID: <20260721181756.143084-6-mario.limonciello@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721181756.143084-1-mario.limonciello@amd.com> References: <20260721181756.143084-1-mario.limonciello@amd.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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000C6189:EE_|CH3PR12MB8236:EE_ X-MS-Office365-Filtering-Correlation-Id: 9726576d-996c-43d2-37e7-08dee7546f62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|376014|82310400026|23010399003|1800799024|13003099007|22082099003|18002099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: 321BzCNBwb5uXXnfrq8v4DmJylQETmqwTuKUZbYCJ6EYBXu044afQYWfakCiyQgEViuKwYClkZOLC2VOJ74WnrCVYlGxWBmQQ2jo4M4gq/GvewWexWe0J35kPPTHun4Q4VTXVn4GbysLawcRou9lsloDo5tVVsax124moefY+EcoPta6rF/Kzn/d8uR9ftiZxxoFm/WoPc3yUZaTOt31su47gGyuHkT0FdyDuRzr/BwEVcuRPsAQ2qP/aKD+aLtVbaRoBHN7sH3DiK3aKnREE5bsRhvXojMcdLZGOK1FLXXELCbmOAqXk+esE0z7SAOy0sKDsSDFa00o95gRfs6HiwcEDSfrvOE8KxelKVvYP8vmeiIacLJAKeUfRRnjThXz43VzGeb+18bruH75AfB+1Nqlaz8Tu6UQcRQCBkKaZPUKFcoBLEENXVYT35To6o9K2VHmsd3sAT2+THOd54hoj8R3K3ug1PhvbUbwffOqKxxOapuukHDvEc/azd7J3bJakYApfrh8ZtgvmAvKiGLlaF9AAqChxMw+8s15/ACDej2GzMqk/+MvBlY9z4Nf/+RVq+Y7H5h66IqJj6o0J7R6e7/ilT5WmBSXS+xBFWofkY/jgc0PO3p99l5UeJzF88yig8/nkKiK0EFvvUG5DzXOWCdqVFw9IL5l+gqKvgY55vrsvwhLKMlS9WElmAvg81yBKNgYLJbkeaec5lvPh26j5w== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(376014)(82310400026)(23010399003)(1800799024)(13003099007)(22082099003)(18002099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BSVR7y16Gcva78mPMyQ53zbDsYmIIrJr0QDYlMfWTnqOk6ODz7biCyaK15zRKXC+8WLWQR8rilBkirno6YJEXtr8wnH187QuNn8W+CoZiOdZywWAYvWr6Ho3P153TIrS5aXRxrslRzhNUzMd7G58qQxILGxoyLKrzSU4ApXZG8Iw0F2AjjPSaFCh5db40mzsJwCTjUVHkIHdQ3LBzYYPQ65BqK4VLqQr5pRMtlEi/s1Rmi3UbAOjpvwohzf2Ny3uHWIpPwJJlmk8j1KAycJQcYR/SReRJJANc1hkll/ySoDA1MbR92nnIm8ogXosEcfYlkYJnJjJ+2fqGESfrc459fVp1JPq29QgMcKPyyjgMAfwIELsciLZ0S9h/8aBLu58daxkxTjh55xpO/rwVaI0JvEak1lMQ+n6sepJnOdhpkKMcJHiTIts25+WCjX7o16w X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 18:18:16.3822 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9726576d-996c-43d2-37e7-08dee7546f62 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000C6189.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8236 Content-Type: text/plain; charset="utf-8" amd_pmc_probe() registers the LPS0 s2idle handler with acpi_register_lps0_dev() and creates the driver's debugfs directory before calling amd_stb_s2d_init(), which is the last step in probe that can fail. When amd_stb_s2d_init() fails (for example the S2D telemetry region cannot be ioremapped on a long-running system, or the SMU rejects the S2D setup) the error path only calls pci_dev_put() and returns. This leaves amd_pmc_s2idle_dev_ops on the global lps0_s2idle_devops_head list and leaks the debugfs directory, while the devm-managed resources backing the handler are torn down. Reloading the module then walks the corrupted list in acpi_register_lps0_dev() and hits: list_add corruption. next->prev should be prev, but was NULL. kernel BUG at lib/list_debug.c:29! acpi_register_lps0_dev+0x44/0x80 amd_pmc_probe+0x224/0x380 [amd_pmc] platform_probe+0x67/0x90 Even without a reload, the stale registration means the next s2idle transition calls into torn-down driver state. Unwind the debugfs directory and the LPS0 registration on the amd_stb_s2d_init() error path. acpi_unregister_lps0_dev() is safe to call unconditionally here: it is guarded on the same conditions as acpi_register_lps0_dev(), which is exactly what amd_pmc_remove() already relies on. Reported-by: Francis De Brabandere Closes: https://bugzilla.kernel.org/show_bug.cgi?id=3D221759 Tested-by: Francis De Brabandere Fixes: 83ad6974dd3b ("platform/x86/amd/pmc: Move STB block into amd_pmc_s2d= _init()") Cc: stable@vger.kernel.org Signed-off-by: Mario Limonciello --- drivers/platform/x86/amd/pmc/pmc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/platform/x86/amd/pmc/pmc.c b/drivers/platform/x86/amd/= pmc/pmc.c index d50ea62fa2f3a..630a664bdd2f4 100644 --- a/drivers/platform/x86/amd/pmc/pmc.c +++ b/drivers/platform/x86/amd/pmc/pmc.c @@ -919,13 +919,17 @@ static int amd_pmc_probe(struct platform_device *pdev) amd_pmc_dbgfs_register(dev); err =3D amd_stb_s2d_init(dev); if (err) - goto err_pci_dev_put; + goto err_dbgfs_unregister; =20 if (IS_ENABLED(CONFIG_AMD_MP2_STB)) amd_mp2_stb_init(dev); pm_report_max_hw_sleep(U64_MAX); return 0; =20 +err_dbgfs_unregister: + amd_pmc_dbgfs_unregister(dev); + if (IS_ENABLED(CONFIG_SUSPEND)) + acpi_unregister_lps0_dev(&amd_pmc_s2idle_dev_ops); err_pci_dev_put: pci_dev_put(rdev); return err; --=20 2.43.0 From nobody Sat Jul 25 00:16:11 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012031.outbound.protection.outlook.com [40.107.200.31]) (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 7E33146EC6A; Tue, 21 Jul 2026 18:18:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657905; cv=fail; b=q1vEDl9UdT8Sdb4QLvRjhJC8icWnVyihCl2w1IZGPyAahBYgD2ZudRqPpKpSeJLEEGuod2lGQs3n9kyrTY6fZiWOwjlg4KUR3qQWECWI3enLIItN3qh+f71fR4As3WrZoX0XCYD3KjnKTyrDGWS8hd+SRNOXrDEopqIYqB4NWvM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784657905; c=relaxed/simple; bh=StbO4t8ZwbEYRfSVqONvpDcEsgJQOEElS6lNn1YkzQM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=oKuM9iJf8Y5zQaeooviAL+j7caehbqoEp7/4dBfEiyO101iIuwhmBo7NqWdjgS63KBe95dIIWxjkXDL0bnFXhyYLEhED1yVF4sRZ0K2BRVeSLXaNjhnuxhltGwALYyO/kg+clOIcXcEW3l63UKQgWSbegupxjq2011D3ZappEUU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=eDbIgpc3; arc=fail smtp.client-ip=40.107.200.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="eDbIgpc3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JFi+CjWi8tudcyPbRLpybNC3aBFp2r5B44xci6/BchKiX27ht9SSzlLz8hTQu2eSPkUjOiN2uZTiXhLAQd/iUDClKX3TEuaeQj5tvh2pucmjKw55QyxNkFadSuCmx6twOlZgP5IdWoX/sodbmvn86aDYHGg8XkERdlzlXmK/ooWKglEC9G2fZiex2DRlwTM8L82mzIjrYi1CoWb6vTy9POhoYsw4WBs/rUir7+6zAISALBvN3oTdrCAjgs0engJFpUsVO3iHt2WEVaLG/fIwzhtbNQV1fawq8QprnCuUZ7CT9gHn6V533pmJ930If998JGbM/Gd/bMCZLORl/elQjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5qoJU1NlY+ExnmIjiErOdmDMQrGhdQBLH5XVxsJloTc=; b=lZgDHHYvR27HuwltEjfUEyAcQ8tvowl+34z7jxND4PXPcGvAK9rOG65YAV4MuJVSctUL+C9i1TW9hzXnSdmJS0aT3EZw5dGh5dI7kawDWZBC1f0uiiWaZ5tzhiZ6N63fOpN9OCnHFkbLmZkrtKeROILefA4va1r27a5VZXFobD3FhVI79fH8uaExW2YGpWLQnte7MF1rynAs19djDYCInZZjf6sKMrftiSeSGFGoMqawoUNi5/lxB48f7ZycmyUBwyTF/wNF5X2omfa3JwSd4GEOikggFgAn7N2Bu+ELyzcorThLS4AUPOEq1CSRoKqIPcbUxSjbVLCjQGQCCnS+Tw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux.intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5qoJU1NlY+ExnmIjiErOdmDMQrGhdQBLH5XVxsJloTc=; b=eDbIgpc3fmRc1kqF/WhFjFTuvYy7bzht9VgB0tBgz4YENeSYeizK0YlLfqjolETOLOLcG0yQvwW8T+ZEChSNxk+8jHouWwqo9DwxJMP6tOY0KNGPp5GyeIzaf0sr/5amh//Jl5CqdK+uxgZO9QREsjiDXAaBMvA0mn8jddJb6dc= Received: from SJ0PR03CA0273.namprd03.prod.outlook.com (2603:10b6:a03:39e::8) by CY5PR12MB6323.namprd12.prod.outlook.com (2603:10b6:930:20::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Tue, 21 Jul 2026 18:18:20 +0000 Received: from MWH0EPF000C6189.namprd02.prod.outlook.com (2603:10b6:a03:39e:cafe::1e) by SJ0PR03CA0273.outlook.office365.com (2603:10b6:a03:39e::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.10 via Frontend Transport; Tue, 21 Jul 2026 18:18:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000C6189.mail.protection.outlook.com (10.167.249.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.5 via Frontend Transport; Tue, 21 Jul 2026 18:18:19 +0000 Received: from aus0006770c4n-lx01.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 21 Jul 2026 13:18:07 -0500 From: Mario Limonciello To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= CC: Hans de Goede , open list , "open list:X86 PLATFORM DRIVERS" , Mario Limonciello , Francis De Brabandere Subject: [PATCH v2 6/6] platform/x86/amd/pmc: Do not fail probe when STB init fails Date: Tue, 21 Jul 2026 13:17:56 -0500 Message-ID: <20260721181756.143084-7-mario.limonciello@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721181756.143084-1-mario.limonciello@amd.com> References: <20260721181756.143084-1-mario.limonciello@amd.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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000C6189:EE_|CY5PR12MB6323:EE_ X-MS-Office365-Filtering-Correlation-Id: b3b72830-dab3-4f8f-4f60-08dee7547156 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700016|376014|82310400026|23010399003|13003099007|22082099003|18002099003|10067099003|11063799006|56012099006|3023799007|6133799003; X-Microsoft-Antispam-Message-Info: XsHT/4TDXOm+53EJDOKpYP+kx9NfMgG/FSDSEEelsYxdLSlR0U1wjS4W2IS5HoTH7RUOfP9wrgfa8b/HcMHvr0nrRtrFQqIxcMmhYo7MECwcQCBg47gNRMceJGKE8Z7raCILdhTEAhi1hIjvoS+Urw54Kih13TADXOKPNt8WKPJ0gDrTs7jhb+vFgvlPMwL5QL+2PYJ/6UpCaWGSQ0Ic8z+XUwHAtSvV3aQC1C5FdINZl36vLfAr1cEty42ZOZS4YMol+coJtMAcT5v2iq/YFHNUEZg5KKLOsB6mOZBHmIMq1u6Ge1ca76JVAxrypXz2Jkaa0GVEu0iWWrLc+6urV26APqSNrMiUqLtg4BgvLFOnDPJWsa0iLKhWFYEr9FzcLhUOsqNgt4Hyb5VRp/i96GEAsEcQuxTotQTmXXRbtImiDpXQ6s91dyzoJACgODXrYoYlvoU0ey8ieRlC7Jl3EEcsZ/zMiUSWhWW7s0QsYG6xgrQAkDdnBoQrfJ1tXlBWY/eA8mnqGp2zPoUq96XEQRwhgv8sDfZi5PuoCgzgichBxyuffNQdaBwnnhwTLf4I0ynINtoU7ZGHcpiYdtw2t/0JPPAtoWcawLav3OcZJBz9F3n9eENfPnJVuSJB0KSvDPDyVldbIttki6r+a/XyPxZnBVmbXrp95Ss/8jqRh0loJxAgP1pOb2ZnRWkx8002jxHxDlK0cZ+HU6e0Ksv53Q== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(376014)(82310400026)(23010399003)(13003099007)(22082099003)(18002099003)(10067099003)(11063799006)(56012099006)(3023799007)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gUV909kBC6QWc36Mx5whMtzfX25D+XnIyPNCDT7jnvP/SQ/zTxirHu2CVr7I2/2daP7NdZ/TKg9Cxsdw3uVlrco+Csk6nEK5n2vgM5yZN/neZOdW1uL+ppOn+TPbSL8q/DqEdcyYipsuyO6DjnrSMbWFpnj1N5r8Zr0ziCZ3MVH0jEt2RutVXxqJE1ZtaKuHSl3HbEog6v/FajVLv+r5HZ1rm69KcJOgSHaBtRs3kPmcZIO2LUePzP7EpkyP8a1BlqYzcNgYR+NCxzsFlTPO2CLE11UffD2iOTjUojYRNRtbZHaaQY8MxvwceGj1Gnb7I/Ys9YcOHe1p5MxJ6pwC2jiNxJ8MFJMJhnuOVpfmn4Pv9HWm2bVIjTKQEzEojZyoHpZNSHqcBborMSlU0P61SIYuSgjgFyGYkTB8ACHF4fDi8ipLffdgHExA77zO9E7/ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 18:18:19.7122 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b3b72830-dab3-4f8f-4f60-08dee7547156 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000C6189.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6323 Content-Type: text/plain; charset="utf-8" STB (Spill to DRAM) is an optional debugging facility that is only enabled through the enable_stb module parameter. On some platforms the SMU refuses the S2D setup outright, and on long-running systems the large telemetry region can fail to ioremap. In either case amd_stb_s2d_init() returns an error and, because probe treated that as fatal, the entire PMC driver failed to load - silently disabling s0i3 support even though STB is only a debug aid. Downgrade the failure to a warning and continue probing so that s0i3 support via the LPS0 handler no longer depends on an optional debug feature. Since probe no longer aborts on this path, the LPS0 and debugfs unwinding added by the earlier fix in this series becomes unreachable and is removed. Reported-by: Francis De Brabandere Closes: https://bugzilla.kernel.org/show_bug.cgi?id=3D221759 Tested-by: Francis De Brabandere Signed-off-by: Mario Limonciello --- drivers/platform/x86/amd/pmc/pmc.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/platform/x86/amd/pmc/pmc.c b/drivers/platform/x86/amd/= pmc/pmc.c index 630a664bdd2f4..0e013402c1c65 100644 --- a/drivers/platform/x86/amd/pmc/pmc.c +++ b/drivers/platform/x86/amd/pmc/pmc.c @@ -917,19 +917,22 @@ static int amd_pmc_probe(struct platform_device *pdev) } =20 amd_pmc_dbgfs_register(dev); + + /* + * STB is an optional debug facility (enable_stb); a failure to set it + * up must not stop the rest of the driver - most importantly the s0i3 + * LPS0 handler - from working, so treat it as non-fatal. + */ err =3D amd_stb_s2d_init(dev); if (err) - goto err_dbgfs_unregister; + dev_warn(dev->dev, "STB initialization failed (%d), continuing without S= TB support\n", + err); =20 if (IS_ENABLED(CONFIG_AMD_MP2_STB)) amd_mp2_stb_init(dev); pm_report_max_hw_sleep(U64_MAX); return 0; =20 -err_dbgfs_unregister: - amd_pmc_dbgfs_unregister(dev); - if (IS_ENABLED(CONFIG_SUSPEND)) - acpi_unregister_lps0_dev(&amd_pmc_s2idle_dev_ops); err_pci_dev_put: pci_dev_put(rdev); return err; --=20 2.43.0