nvmem: zynqmp_nvmem: unbreak driver after cleanup
authorPeter Korsgaard <peter@korsgaard.com>
Fri, 9 May 2025 12:24:07 +0000 (13:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 May 2025 12:28:11 +0000 (14:28 +0200)
Commit 29be47fcd6a0 ("nvmem: zynqmp_nvmem: zynqmp_nvmem_probe cleanup")
changed the driver to expect the device pointer to be passed as the
"context", but in nvmem the context parameter comes from nvmem_config.priv
which is never set - Leading to null pointer exceptions when the device is
accessed.

Fixes: 29be47fcd6a0 ("nvmem: zynqmp_nvmem: zynqmp_nvmem_probe cleanup")
Cc: stable <stable@kernel.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Tested-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250509122407.11763-3-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/zynqmp_nvmem.c

index 8682ada..7da717d 100644 (file)
@@ -213,6 +213,7 @@ static int zynqmp_nvmem_probe(struct platform_device *pdev)
        econfig.word_size = 1;
        econfig.size = ZYNQMP_NVMEM_SIZE;
        econfig.dev = dev;
+       econfig.priv = dev;
        econfig.add_legacy_fixed_of_cells = true;
        econfig.reg_read = zynqmp_nvmem_read;
        econfig.reg_write = zynqmp_nvmem_write;