2021-02-08 21:12:25

by Jonathan Marek

[permalink] [raw]
Subject: [PATCH] misc: fastrpc: fix incorrect usage of dma_map_sgtable

dma_map_sgtable() returns 0 on success, which is the opposite of what this
code was doing.

Fixes: 7cd7edb89437 ("misc: fastrpc: fix common struct sg_table related issues")
Signed-off-by: Jonathan Marek <[email protected]>
---
drivers/misc/fastrpc.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 70eb5ed942d0..f12e909034ac 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -520,12 +520,13 @@ fastrpc_map_dma_buf(struct dma_buf_attachment *attachment,
{
struct fastrpc_dma_buf_attachment *a = attachment->priv;
struct sg_table *table;
+ int ret;

table = &a->sgt;

- if (!dma_map_sgtable(attachment->dev, table, dir, 0))
- return ERR_PTR(-ENOMEM);
-
+ ret = dma_map_sgtable(attachment->dev, table, dir, 0);
+ if (ret)
+ table = ERR_PTR(ret);
return table;
}

--
2.26.1


2021-02-09 09:10:08

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [PATCH] misc: fastrpc: fix incorrect usage of dma_map_sgtable

Hi

On 08.02.2021 21:04, Jonathan Marek wrote:
> dma_map_sgtable() returns 0 on success, which is the opposite of what this
> code was doing.
>
> Fixes: 7cd7edb89437 ("misc: fastrpc: fix common struct sg_table related issues")
> Signed-off-by: Jonathan Marek <[email protected]>

Right, I'm really sorry for this regression.

Acked-by: Marek Szyprowski <[email protected]>

> ---
> drivers/misc/fastrpc.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index 70eb5ed942d0..f12e909034ac 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -520,12 +520,13 @@ fastrpc_map_dma_buf(struct dma_buf_attachment *attachment,
> {
> struct fastrpc_dma_buf_attachment *a = attachment->priv;
> struct sg_table *table;
> + int ret;
>
> table = &a->sgt;
>
> - if (!dma_map_sgtable(attachment->dev, table, dir, 0))
> - return ERR_PTR(-ENOMEM);
> -
> + ret = dma_map_sgtable(attachment->dev, table, dir, 0);
> + if (ret)
> + table = ERR_PTR(ret);
> return table;
> }
>

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

2021-02-10 16:42:23

by Srinivas Kandagatla

[permalink] [raw]
Subject: Re: [PATCH] misc: fastrpc: fix incorrect usage of dma_map_sgtable



On 08/02/2021 20:04, Jonathan Marek wrote:
> dma_map_sgtable() returns 0 on success, which is the opposite of what this
> code was doing.
>
> Fixes: 7cd7edb89437 ("misc: fastrpc: fix common struct sg_table related issues")
> Signed-off-by: Jonathan Marek <[email protected]>
> ---

Reviewed-by: Srinivas Kandagatla <[email protected]>

> drivers/misc/fastrpc.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index 70eb5ed942d0..f12e909034ac 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -520,12 +520,13 @@ fastrpc_map_dma_buf(struct dma_buf_attachment *attachment,
> {
> struct fastrpc_dma_buf_attachment *a = attachment->priv;
> struct sg_table *table;
> + int ret;
>
> table = &a->sgt;
>
> - if (!dma_map_sgtable(attachment->dev, table, dir, 0))
> - return ERR_PTR(-ENOMEM);
> -
> + ret = dma_map_sgtable(attachment->dev, table, dir, 0);
> + if (ret)
> + table = ERR_PTR(ret);
> return table;
> }
>
>