Re: [PATCH v3] powercap: intel_rapl_tpmi: Handle PMU registration failure during probe
"Rafael J. Wysocki (Intel)" <[email protected]>
| Newsgroups | org.kernel.vger.linux-pm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAJZ5v0gV5dz7RCu0XmH70Bv6bABH+Swii88CJK++oEdmDoSohg@mail.gmail.com> |
On Thu, Jul 23, 2026 at 7:23 PM Sumeet Pawnikar <[email protected]> wrote: > > intel_rapl_tpmi_probe() invokes rapl_package_add_pmu() but ignores its > return value, so a PMU registration failure would leave the driver > reporting probe success despite the PMU being absent, with no log > trace. > > Since PMU registration is an optional auxiliary feature for perf energy > counters, its failure should not break the primary powercap functionality. > Check the return value and log a warning to ensure graceful degradation. > > Fixes: 963a9ad3c589 ("powercap: intel_rapl_tpmi: Enable PMU support") > Signed-off-by: Sumeet Pawnikar <[email protected]> > --- > v2->v3: > * Fix the format string as per the Sashiko comment: > https://sashiko.dev/#/patchset/20260719085100.145555-1-sumeet4linux%40gmail.com) > > v1->v2: > * Since PMU registration is an optional auxiliary feature here, > treat it's failure as a non fatal error and log a warning > and continue, similar to other RAPL drivers like intel_rapl_msr, > to ensure graceful degradation (Based on Sashiko feedback: > https://sashiko.dev/#/patchset/20260515184250.228062-1-sumeet4linux%40gmail.com) > * Add Fixes tag in changelog. > --- > drivers/powercap/intel_rapl_tpmi.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/powercap/intel_rapl_tpmi.c b/drivers/powercap/intel_rapl_tpmi.c > index 7f41491d9cd1..a870199a9272 100644 > --- a/drivers/powercap/intel_rapl_tpmi.c > +++ b/drivers/powercap/intel_rapl_tpmi.c > @@ -414,7 +414,10 @@ static int intel_rapl_tpmi_probe(struct auxiliary_device *auxdev, > goto err; > } > > - rapl_package_add_pmu(trp->rp); > + ret = rapl_package_add_pmu(trp->rp); > + if (ret) > + dev_warn(&auxdev->dev, "Failed to add RAPL PMU for Package%d, %d\n", > + info->package_id, ret); > > auxiliary_set_drvdata(auxdev, trp); > > -- Applied as 7.3 material, but I've changed the log level of the new message to "info". Thanks!