Re: [PATCH 1/3] media: imx: Unregister csc/scaler only if registered

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

 



Hello Philipp,

Thanks for the quick review.

On Mon, 2021-01-04 at 18:16 +0100, Philipp Zabel wrote:
> Hi Ezequiel,
> 
> On Mon, 2020-12-28 at 09:21 -0300, Ezequiel Garcia wrote:
> > The csc/scaler device pointer (imxmd->m2m_vdev) is assigned
> > after the imx media device v4l2-async probe completes,
> > therefore we need to check if the device is non-NULL
> > before trying to unregister it.
> > 
> > This can be the case if the non-completed imx media device
> > is unbinded (or the driver is removed), leading to a kernel oops.
> > 
> > Fixes: a8ef0488cc59 ("media: imx: add csc/scaler mem2mem device")
> > Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx>
> > ---
> >  drivers/staging/media/imx/imx-media-dev.c | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/staging/media/imx/imx-media-dev.c b/drivers/staging/media/imx/imx-media-dev.c
> > index 6d2205461e56..b6d5f844ad79 100644
> > --- a/drivers/staging/media/imx/imx-media-dev.c
> > +++ b/drivers/staging/media/imx/imx-media-dev.c
> > @@ -107,10 +107,14 @@ static int imx_media_remove(struct platform_device *pdev)
> >  
> >         v4l2_info(&imxmd->v4l2_dev, "Removing imx-media\n");
> >  
> > +       if (imxmd->m2m_vdev) {
> 
> Thank you, it's even worse. If imx_media_csc_scaler_device_init() fails
> in imx6_media_probe_complete(), imxmd->m2m_vdev contains an error value.
> 
> So either this should check
> 
>         if (!IS_ERR_OR_NULL(imxmd->m2m_vdev))
> 
> or (probably better) probe_complete should be changed as well.
> 

Good catch. I guess the simplest solution for that is to
clear the m2m_vdev pointer in imx6_media_probe_complete,
if it fails.

Thanks,
Ezequiel




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux