aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/804-crypto-0036-LF-933-crypto-caam-fix-iosource-busy-issue.patch
blob: f142a67569bd87cb151c2e19f859e8052df52193 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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;
 	}