summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNuno Sá <nuno.sa@analog.com>2022-04-20 15:02:05 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-06-14 16:59:20 +0200
commit2e9df1b09f72d17d722224d6248a446542a0f75c (patch)
treed29f94ed4e4f2efab0d9649b62220f90925d4f99
parent72632015277b56d5f8fd666ccd24cb0ed7ef1d72 (diff)
downloadlinux-stable-2e9df1b09f72d17d722224d6248a446542a0f75c.tar.gz
of: overlay: do not break notify on NOTIFY_{OK|STOP}
[ Upstream commit 5f756a2eaa4436d7d3dc1e040147f5e992ae34b5 ] We should not break overlay notifications on NOTIFY_{OK|STOP} otherwise we might break on the first fragment. We should only stop notifications if a *real* errno is returned by one of the listeners. Fixes: a1d19bd4cf1fe ("of: overlay: pr_err from return NOTIFY_OK to overlay apply/remove") Signed-off-by: Nuno Sá <nuno.sa@analog.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220420130205.89435-1-nuno.sa@analog.com Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/of/overlay.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
index a77bfeac867d..fef5b6c2fae2 100644
--- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c
@@ -170,9 +170,7 @@ static int overlay_notify(struct overlay_changeset *ovcs,
ret = blocking_notifier_call_chain(&overlay_notify_chain,
action, &nd);
- if (ret == NOTIFY_OK || ret == NOTIFY_STOP)
- return 0;
- if (ret) {
+ if (notifier_to_errno(ret)) {
ret = notifier_to_errno(ret);
pr_err("overlay changeset %s notifier error %d, target: %pOF\n",
of_overlay_action_name[action], ret, nd.target);