]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 18 Aug 2015 09:12:19 +0000 (12:12 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 17:33:34 +0000 (19:33 +0200)
commit a4a9a8cb3248b3b48a6049acaeaf23d4ad3712b9 upstream.

The dma_mapping_error() function returns true if there is an error, it
doesn't return an error code.  We should return -ENOMEM.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-xgene-slimpro.c

index 1c9cb65ac4cf8aeb83becaec867f9a34f28b5a1e..4233f5695352fdc951c54c54dc6fbb9de926d26e 100644 (file)
@@ -198,10 +198,10 @@ static int slimpro_i2c_blkrd(struct slimpro_i2c_dev *ctx, u32 chip, u32 addr,
        int rc;
 
        paddr = dma_map_single(ctx->dev, ctx->dma_buffer, readlen, DMA_FROM_DEVICE);
-       rc = dma_mapping_error(ctx->dev, paddr);
-       if (rc) {
+       if (dma_mapping_error(ctx->dev, paddr)) {
                dev_err(&ctx->adapter.dev, "Error in mapping dma buffer %p\n",
                        ctx->dma_buffer);
+               rc = -ENOMEM;
                goto err;
        }
 
@@ -241,10 +241,10 @@ static int slimpro_i2c_blkwr(struct slimpro_i2c_dev *ctx, u32 chip,
        memcpy(ctx->dma_buffer, data, writelen);
        paddr = dma_map_single(ctx->dev, ctx->dma_buffer, writelen,
                               DMA_TO_DEVICE);
-       rc = dma_mapping_error(ctx->dev, paddr);
-       if (rc) {
+       if (dma_mapping_error(ctx->dev, paddr)) {
                dev_err(&ctx->adapter.dev, "Error in mapping dma buffer %p\n",
                        ctx->dma_buffer);
+               rc = -ENOMEM;
                goto err;
        }