| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Mon, 17 Dec 2018 10:05:36 +0300 |
| Subject: IB/qib: Fix an error code in qib_sdma_verbs_send() |
| |
| commit 5050ae5fa3d54c8e83e1e447cc7e3591110a7f57 upstream. |
| |
| We accidentally return success on this error path. |
| |
| Fixes: f931551bafe1 ("IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters") |
| Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/infiniband/hw/qib/qib_sdma.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/infiniband/hw/qib/qib_sdma.c |
| +++ b/drivers/infiniband/hw/qib/qib_sdma.c |
| @@ -597,8 +597,10 @@ retry: |
| dw = (len + 3) >> 2; |
| addr = dma_map_single(&ppd->dd->pcidev->dev, sge->vaddr, |
| dw << 2, DMA_TO_DEVICE); |
| - if (dma_mapping_error(&ppd->dd->pcidev->dev, addr)) |
| + if (dma_mapping_error(&ppd->dd->pcidev->dev, addr)) { |
| + ret = -ENOMEM; |
| goto unmap; |
| + } |
| sdmadesc[0] = 0; |
| make_sdma_desc(ppd, sdmadesc, (u64) addr, dw, dwoffset); |
| /* SDmaUseLargeBuf has to be set in every descriptor */ |