4fc988c1ecf297c2d20254906a20372a0fa8f4c1
[openwrt/staging/jogo.git] / target / linux / apm821xx / patches-5.4 / 112-crypto-crypto4xx-use-GFP_KERNEL-for-big-allocations.patch
1 From 5bacaaea8a228bc46f402595b1694ef9128f3599 Mon Sep 17 00:00:00 2001
2 Message-Id: <5bacaaea8a228bc46f402595b1694ef9128f3599.1577917078.git.chunkeey@gmail.com>
3 In-Reply-To: <3913dbe4b3256ead342572f7aba726a60ab5fd43.1577917078.git.chunkeey@gmail.com>
4 References: <3913dbe4b3256ead342572f7aba726a60ab5fd43.1577917078.git.chunkeey@gmail.com>
5 From: Christian Lamparter <chunkeey@gmail.com>
6 Date: Wed, 1 Jan 2020 22:54:54 +0100
7 Subject: [PATCH 2/2] crypto: crypto4xx - use GFP_KERNEL for big allocations
8 To: linux-crypto@vger.kernel.org
9 Cc: Herbert Xu <herbert@gondor.apana.org.au>
10
11 The driver should use GFP_KERNEL for the bigger allocation
12 during the driver's crypto4xx_probe() and not GFP_ATOMIC in
13 my opinion.
14
15 Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
16 ---
17 drivers/crypto/amcc/crypto4xx_core.c | 12 ++++++------
18 1 file changed, 6 insertions(+), 6 deletions(-)
19
20 diff --git a/drivers/crypto/amcc/crypto4xx_core.c b/drivers/crypto/amcc/crypto4xx_core.c
21 index 3ce5f0a24cbc..981de43ea5e2 100644
22 --- a/drivers/crypto/amcc/crypto4xx_core.c
23 +++ b/drivers/crypto/amcc/crypto4xx_core.c
24 @@ -169,7 +169,7 @@ static u32 crypto4xx_build_pdr(struct crypto4xx_device *dev)
25 int i;
26 dev->pdr = dma_alloc_coherent(dev->core_dev->device,
27 sizeof(struct ce_pd) * PPC4XX_NUM_PD,
28 - &dev->pdr_pa, GFP_ATOMIC);
29 + &dev->pdr_pa, GFP_KERNEL);
30 if (!dev->pdr)
31 return -ENOMEM;
32
33 @@ -185,13 +185,13 @@ static u32 crypto4xx_build_pdr(struct crypto4xx_device *dev)
34 dev->shadow_sa_pool = dma_alloc_coherent(dev->core_dev->device,
35 sizeof(union shadow_sa_buf) * PPC4XX_NUM_PD,
36 &dev->shadow_sa_pool_pa,
37 - GFP_ATOMIC);
38 + GFP_KERNEL);
39 if (!dev->shadow_sa_pool)
40 return -ENOMEM;
41
42 dev->shadow_sr_pool = dma_alloc_coherent(dev->core_dev->device,
43 sizeof(struct sa_state_record) * PPC4XX_NUM_PD,
44 - &dev->shadow_sr_pool_pa, GFP_ATOMIC);
45 + &dev->shadow_sr_pool_pa, GFP_KERNEL);
46 if (!dev->shadow_sr_pool)
47 return -ENOMEM;
48 for (i = 0; i < PPC4XX_NUM_PD; i++) {
49 @@ -277,7 +277,7 @@ static u32 crypto4xx_build_gdr(struct crypto4xx_device *dev)
50 {
51 dev->gdr = dma_alloc_coherent(dev->core_dev->device,
52 sizeof(struct ce_gd) * PPC4XX_NUM_GD,
53 - &dev->gdr_pa, GFP_ATOMIC);
54 + &dev->gdr_pa, GFP_KERNEL);
55 if (!dev->gdr)
56 return -ENOMEM;
57
58 @@ -358,14 +358,14 @@ static u32 crypto4xx_build_sdr(struct crypto4xx_device *dev)
59 dev->scatter_buffer_va =
60 dma_alloc_coherent(dev->core_dev->device,
61 PPC4XX_SD_BUFFER_SIZE * PPC4XX_NUM_SD,
62 - &dev->scatter_buffer_pa, GFP_ATOMIC);
63 + &dev->scatter_buffer_pa, GFP_KERNEL);
64 if (!dev->scatter_buffer_va)
65 return -ENOMEM;
66
67 /* alloc memory for scatter descriptor ring */
68 dev->sdr = dma_alloc_coherent(dev->core_dev->device,
69 sizeof(struct ce_sd) * PPC4XX_NUM_SD,
70 - &dev->sdr_pa, GFP_ATOMIC);
71 + &dev->sdr_pa, GFP_KERNEL);
72 if (!dev->sdr)
73 return -ENOMEM;
74
75 --
76 2.25.0.rc0
77