]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
firmware: arm_scmi: Fix unused notifier-block in unregister
authorAmitai Gottlieb <amitaig@hailo.ai>
Tue, 16 Dec 2025 11:50:09 +0000 (13:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:10:13 +0000 (13:10 +0100)
In scmi_devm_notifier_unregister(), the notifier-block argument was ignored
and never passed to devres_release(). As a result, the function always
returned -ENOENT and failed to unregister the notifier.

Drivers that depend on this helper for teardown could therefore hit
unexpected failures, including kernel panics.

Commit 264a2c520628 ("firmware: arm_scmi: Simplify scmi_devm_notifier_unregister")
removed the faulty code path during refactoring and hence this fix is not
required upstream.

Cc: <stable@vger.kernel.org> # 5.15.x, 6.1.x, and 6.6.x
Fixes: 5ad3d1cf7d34 ("firmware: arm_scmi: Introduce new devres notification ops")
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Amitai Gottlieb <amitaig@hailo.ai>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firmware/arm_scmi/notify.c

index 0efd20cd9d69d8586f04022cc96fe08270c207b4..4782b115e6ec51cf04e9ac192507a1c32df84266 100644 (file)
@@ -1539,6 +1539,7 @@ static int scmi_devm_notifier_unregister(struct scmi_device *sdev,
        dres.handle = sdev->handle;
        dres.proto_id = proto_id;
        dres.evt_id = evt_id;
+       dres.nb = nb;
        if (src_id) {
                dres.__src_id = *src_id;
                dres.src_id = &dres.__src_id;