--- /dev/null
+From 0c4862b1c1465e473bc961a02765490578bf5c20 Mon Sep 17 00:00:00 2001
+From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
+Date: Fri, 27 Jan 2023 10:40:14 +0000
+Subject: nvmem: core: fix return value
+
+From: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
+
+commit 0c4862b1c1465e473bc961a02765490578bf5c20 upstream.
+
+Dan Carpenter points out that the return code was not set in commit
+60c8b4aebd8e ("nvmem: core: fix cleanup after dev_set_name()"), but
+this is not the only issue - we also need to zero wp_gpio to prevent
+gpiod_put() being called on an error value.
+
+Fixes: 560181d3ace6 ("nvmem: core: fix cleanup after dev_set_name()")
+Cc: stable@vger.kernel.org
+Reported-by: kernel test robot <lkp@intel.com>
+Reported-by: Dan Carpenter <error27@gmail.com>
+Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
+Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+Link: https://lore.kernel.org/r/20230127104015.23839-10-srinivas.kandagatla@linaro.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/nvmem/core.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/nvmem/core.c
++++ b/drivers/nvmem/core.c
+@@ -638,6 +638,7 @@ struct nvmem_device *nvmem_register(cons
+ GPIOD_OUT_HIGH);
+ if (IS_ERR(nvmem->wp_gpio)) {
+ rval = PTR_ERR(nvmem->wp_gpio);
++ nvmem->wp_gpio = NULL;
+ goto err_put_device;
+ }
+