aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/804-crypto-0036-LF-933-crypto-caam-fix-iosource-busy-issue.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/804-crypto-0036-LF-933-crypto-caam-fix-iosource-busy-issue.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/804-crypto-0036-LF-933-crypto-caam-fix-iosource-busy-issue.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0036-LF-933-crypto-caam-fix-iosource-busy-issue.patch b/target/linux/layerscape/patches-5.4/804-crypto-0036-LF-933-crypto-caam-fix-iosource-busy-issue.patch
new file mode 100644
index 0000000000..f142a67569
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0036-LF-933-crypto-caam-fix-iosource-busy-issue.patch
@@ -0,0 +1,38 @@
+From 4f59ceff69a20d28881848140ef5fc2888042e62 Mon Sep 17 00:00:00 2001
+From: Gagandeep Singh <g.singh@nxp.com>
+Date: Mon, 17 Feb 2020 16:41:01 +0000
+Subject: [PATCH] LF-933: crypto: caam: fix iosource busy issue
+
+The caam controller driver claims the ownership of the
+whole caam register space due to which while binding the
+Job Ring to fsl-jr-uio driver, it returns IOSOURCE_BUSY
+error.
+
+This patch replaces devm_request_mem_region() API with
+platform_get_resource() to avoid this issue.
+
+Fixes: eb5e94d4624a ("crypto: caam - use devres to unmap memory")
+
+Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
+Acked-by: Horia Geanta <horia.geanta@nxp.com>
+---
+ drivers/crypto/caam/fsl_jr_uio.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+--- a/drivers/crypto/caam/fsl_jr_uio.c
++++ b/drivers/crypto/caam/fsl_jr_uio.c
+@@ -187,11 +187,10 @@ static int fsl_jr_probe(struct platform_
+ goto abort;
+ }
+
+- jr_dev->res = devm_request_mem_region(&dev->dev, regs.start,
+- regs.end - regs.start + 1,
+- jr_dev->info.name);
++
++ jr_dev->res = platform_get_resource(dev, IORESOURCE_MEM, 0);
+ if (unlikely(!jr_dev->res)) {
+- dev_err(jr_dev->dev, "devm_request_mem_region failed\n");
++ dev_err(jr_dev->dev, "platform_get_resource() failed\n");
+ ret = -ENOMEM;
+ goto abort;
+ }