4.14-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Stanimir Varbanov <[email protected]>

commit cd1a77e3c9cc6dbb57f02aa50e1740fc144d2dad upstream.

This change will fix an issue with dma_free size found with
DMA API debug enabled.

Signed-off-by: Stanimir Varbanov <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/media/platform/qcom/venus/hfi_venus.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

--- a/drivers/media/platform/qcom/venus/hfi_venus.c
+++ b/drivers/media/platform/qcom/venus/hfi_venus.c
@@ -344,7 +344,7 @@ static int venus_alloc(struct venus_hfi_
        desc->attrs = DMA_ATTR_WRITE_COMBINE;
        desc->size = ALIGN(size, SZ_4K);
 
-       desc->kva = dma_alloc_attrs(dev, size, &desc->da, GFP_KERNEL,
+       desc->kva = dma_alloc_attrs(dev, desc->size, &desc->da, GFP_KERNEL,
                                    desc->attrs);
        if (!desc->kva)
                return -ENOMEM;
@@ -710,10 +710,8 @@ static int venus_interface_queues_init(s
        if (ret)
                return ret;
 
-       hdev->ifaceq_table.kva = desc.kva;
-       hdev->ifaceq_table.da = desc.da;
-       hdev->ifaceq_table.size = IFACEQ_TABLE_SIZE;
-       offset = hdev->ifaceq_table.size;
+       hdev->ifaceq_table = desc;
+       offset = IFACEQ_TABLE_SIZE;
 
        for (i = 0; i < IFACEQ_NUM; i++) {
                queue = &hdev->queues[i];
@@ -755,9 +753,7 @@ static int venus_interface_queues_init(s
        if (ret) {
                hdev->sfr.da = 0;
        } else {
-               hdev->sfr.da = desc.da;
-               hdev->sfr.kva = desc.kva;
-               hdev->sfr.size = ALIGNED_SFR_SIZE;
+               hdev->sfr = desc;
                sfr = hdev->sfr.kva;
                sfr->buf_size = ALIGNED_SFR_SIZE;
        }


Reply via email to