Re: [PATCH] media: s5p-mfc: Properly handle dma_parms for the allocated devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 28 May 2020 at 16:03, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> wrote:
>
> Commit 9495b7e92f71 ("driver core: platform: Initialize dma_parms for
> platform devices") in v5.7-rc5 added allocation of dma_parms structure to
> all platform devices. Then vb2_dma_contig_set_max_seg_size() have been
> changed not to allocate dma_parms structure and rely on the one allocated
> by the device core. Lets allocate the needed structure also for the
> devices created for the 2 MFC device memory ports.
>
> Reported-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
> Suggested-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> Fixes: 9495b7e92f71 ("driver core: platform: Initialize dma_parms for platform devices")
> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>

Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

Kind regards
Uffe

> ---
>  drivers/media/platform/s5p-mfc/s5p_mfc.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c
> index 5c2a23b953a4..eba2b9f040df 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c
> @@ -1089,6 +1089,10 @@ static struct device *s5p_mfc_alloc_memdev(struct device *dev,
>         child->coherent_dma_mask = dev->coherent_dma_mask;
>         child->dma_mask = dev->dma_mask;
>         child->release = s5p_mfc_memdev_release;
> +       child->dma_parms = devm_kzalloc(dev, sizeof(*child->dma_parms),
> +                                       GFP_KERNEL);
> +       if (!child->dma_parms)
> +               goto err;
>
>         /*
>          * The memdevs are not proper OF platform devices, so in order for them
> @@ -1104,7 +1108,7 @@ static struct device *s5p_mfc_alloc_memdev(struct device *dev,
>                         return child;
>                 device_del(child);
>         }
> -
> +err:
>         put_device(child);
>         return NULL;
>  }
> --
> 2.17.1
>



[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux