Linux ACPI
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Lorenzo Pieralisi <lpieralisi@kernel.org>,
	Hanjun Guo <guohanjun@huawei.com>,
	Sudeep Holla <sudeep.holla@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>, James Morse <james.morse@arm.com>,
	Ben Horgan <ben.horgan@arm.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Fenghua Yu <fenghuay@nvidia.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
	Srivathsa L Rao <srivathsa.rao@oss.qualcomm.com>,
	Ganapatrao Kulkarni <ganapatrao.kulkarni@oss.qualcomm.com>,
	Trilok Soni <tsoni@quicinc.com>,
	Srinivas Ramana <sramana@qti.qualcomm.com>,
	Niyas Sait <niyas.sait@arm.com>, Lee Trager <lee@trager.us>,
	Ritwick Sharma <ritwick.sharma@arm.com>,
	linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] FIX: avoid using mailbox client dev pointer for error prints
Date: Mon,  3 Aug 2026 19:04:58 +0200	[thread overview]
Message-ID: <20260803170458.3135976-1-andre.przywara@arm.com> (raw)
In-Reply-To: <20260731170324.2927758-12-andre.przywara@arm.com>

When a PCC channel is shared among several MSCs, all use the same
mailbox client struct, which contains the device pointer of the very
first MSC created. If that MSC goes away, the dev pointer becomes stale.
We use that pointer only for error printing, so drop that usage. We can
use the dev pointer from the MSC instead, which the callers of
mpam_fb_send_request() know.
The mailbox client code also seems to use this pointer only for error
prints, and only during initialisation, so it becoming stale afterwards
does not cause problems.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
Hi,

so this is the fix for the issue that Srivathsa described. This applies
on top of the v7 series posted. I put up a branch with the patch
squashed here:
https://gitlab.arm.com/linux-arm/linux-ap/-/commits/mpam-fb-v7-fixed?ref_type=heads
If I shall post a v8, please let me know.

Cheers,
Andre

 drivers/resctrl/mpam_fb.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/resctrl/mpam_fb.c b/drivers/resctrl/mpam_fb.c
index 7a7fb6d067ba..79e0229b77c1 100644
--- a/drivers/resctrl/mpam_fb.c
+++ b/drivers/resctrl/mpam_fb.c
@@ -6,6 +6,7 @@
 #include <linux/errno.h>
 #include <linux/mailbox_client.h>
 #include <linux/mutex.h>
+#include <linux/platform_device.h>
 #include <linux/types.h>
 
 #include <acpi/pcc.h>
@@ -128,17 +129,19 @@ static int mpam_fb_translate_error_code(int mpam_fb_code)
 	}
 }
 
-static int mpam_fb_send_request(struct mpam_pcc_chan *pcc_chan, u32 msc_id,
+static int mpam_fb_send_request(struct mpam_msc *msc, u32 msc_id,
 				u16 reg, u32 *result, int mpam_fb_command)
 {
 	unsigned int token = atomic_inc_return(&mpam_fb_token);
 	struct acpi_pcct_ext_pcc_shared_memory __iomem *pcc_shmem;
+	struct mpam_pcc_chan *pcc_chan;
 	struct pcc_mbox_chan *chan;
 	void __iomem *payload_ofs;
 	int mpam_fb_err = 0;
 	u32 status;
 	int ret;
 
+	pcc_chan = msc->pcc_chan;
 	if (!pcc_chan)
 		return -ENODEV;
 
@@ -162,7 +165,7 @@ static int mpam_fb_send_request(struct mpam_pcc_chan *pcc_chan, u32 msc_id,
 		mpam_fb_build_version_message(token, chan->shmem);
 		break;
 	default:
-		dev_err(pcc_chan->pcc_cl.dev, "unsupported MPAM-Fb command %d\n",
+		dev_err(&msc->pdev->dev, "unsupported MPAM-Fb command %d\n",
 			mpam_fb_command);
 		ret = -EINVAL;
 		goto out_err;
@@ -203,13 +206,13 @@ static int mpam_fb_send_request(struct mpam_pcc_chan *pcc_chan, u32 msc_id,
 
 int mpam_fb_send_read_request(struct mpam_msc *msc, u16 reg, u32 *result)
 {
-	return mpam_fb_send_request(msc->pcc_chan, msc->id, reg, result,
+	return mpam_fb_send_request(msc, msc->id, reg, result,
 				    MPAM_MSC_READ_CMD);
 }
 
 int mpam_fb_send_write_request(struct mpam_msc *msc, u16 reg, u32 value)
 {
-	return mpam_fb_send_request(msc->pcc_chan, msc->id, reg, &value,
+	return mpam_fb_send_request(msc, msc->id, reg, &value,
 				    MPAM_MSC_WRITE_CMD);
 }
 
@@ -219,7 +222,7 @@ int mpam_fb_check_protocol_version(struct mpam_msc *msc)
 	u32 version;
 	int ret;
 
-	ret = mpam_fb_send_request(msc->pcc_chan, 0,
+	ret = mpam_fb_send_request(msc, 0,
 				   0, &version, MPAM_PROTOCOL_VERSION_CMD);
 	if (ret)
 		return ret;
-- 
2.43.0


  parent reply	other threads:[~2026-08-03 17:05 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-31 17:03 [PATCH v7 00/11] arm_mpam: Add MPAM-Fb firmware support Andre Przywara
2026-07-31 17:03 ` [PATCH v7 01/11] arm_mpam: let low level MSC accessors return an error Andre Przywara
2026-08-04  3:38   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 02/11] arm_mpam: propagate MSC access errors for hw_probe functions Andre Przywara
2026-08-04  3:42   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 03/11] arm_mpam: propagate MSC access errors for MBWU counters Andre Przywara
2026-08-04  3:43   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 04/11] arm_mpam: propagate MSC access errors for msmon helpers Andre Przywara
2026-08-04  3:48   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 05/11] arm_mpam: propagate MSC access errors for __ris_msmon_read() Andre Przywara
2026-08-03 17:23   ` Ben Horgan
2026-08-03 22:13   ` Jonathan Cameron
2026-08-04  3:51   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 06/11] arm_mpam: propagate MSC access errors for state saving function Andre Przywara
2026-08-03 22:17   ` Jonathan Cameron
2026-08-04  3:53   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 07/11] arm_mpam: propagate MSC access errors for mpam_reprogram_ris_partid() Andre Przywara
2026-08-03 17:22   ` Ben Horgan
2026-08-03 22:28   ` Jonathan Cameron
2026-08-04  3:56   ` Gavin Shan
2026-08-04  5:57   ` Srivathsa L Rao
2026-07-31 17:03 ` [PATCH v7 08/11] arm_mpam: prepare mon_sel locking for MPAM-Fb Andre Przywara
2026-08-03 17:24   ` Ben Horgan
2026-08-04  3:58   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 09/11] arm_mpam: add MPAM-Fb MSC firmware access support Andre Przywara
2026-08-04  6:09   ` Gavin Shan
2026-08-04  6:36   ` Gavin Shan
2026-07-31 17:03 ` [PATCH v7 10/11] arm_mpam: change MPAM-Fb error IRQ to use a threaded IRQ handler Andre Przywara
2026-08-03 17:30   ` Ben Horgan
2026-08-03 22:46   ` Jonathan Cameron
2026-08-04  8:09     ` Andre Przywara
2026-07-31 17:03 ` [PATCH v7 11/11] arm_mpam: detect and enable MPAM-Fb PCC support Andre Przywara
2026-08-03 10:49   ` Srivathsa L Rao
2026-08-03 13:37     ` Andre Przywara
2026-08-03 14:53       ` Andre Przywara
2026-08-03 17:04   ` Andre Przywara [this message]
2026-08-03 17:35     ` [PATCH] FIX: avoid using mailbox client dev pointer for error prints Ben Horgan
2026-08-04  3:29 ` [PATCH v7 00/11] arm_mpam: Add MPAM-Fb firmware support Gavin Shan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260803170458.3135976-1-andre.przywara@arm.com \
    --to=andre.przywara@arm.com \
    --cc=ben.horgan@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=fenghuay@nvidia.com \
    --cc=ganapatrao.kulkarni@oss.qualcomm.com \
    --cc=guohanjun@huawei.com \
    --cc=james.morse@arm.com \
    --cc=jic23@kernel.org \
    --cc=lee@trager.us \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=niyas.sait@arm.com \
    --cc=rafael@kernel.org \
    --cc=reinette.chatre@intel.com \
    --cc=ritwick.sharma@arm.com \
    --cc=sramana@qti.qualcomm.com \
    --cc=srivathsa.rao@oss.qualcomm.com \
    --cc=sudeep.holla@kernel.org \
    --cc=tsoni@quicinc.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox