Linux-IIO Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] iio: adc: mediatek: fix unset field
@ 2020-10-12 19:46 Fabien Parent
  2020-10-13 15:37 ` Matthias Brugger
  0 siblings, 1 reply; 4+ messages in thread
From: Fabien Parent @ 2020-10-12 19:46 UTC (permalink / raw)
  To: linux-kernel, linux-mediatek, linux-arm-kernel, linux-iio
  Cc: chun-hung.wu, alexandru.ardelean, matthias.bgg, pmeerw, lars,
	knaack.h, jic23, Fabien Parent

dev_comp field is used in a couple of places but it is never set. This
results in kernel oops when dereferencing a NULL pointer. Set the
`dev_comp` field correctly in the probe function.

Fixes: 6d97024dce23 ("iio: adc: mediatek: mt6577-auxadc, add mt6765 support")

Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
 drivers/iio/adc/mt6577_auxadc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c
index ac415cb089cd..7bd48377cd79 100644
--- a/drivers/iio/adc/mt6577_auxadc.c
+++ b/drivers/iio/adc/mt6577_auxadc.c
@@ -276,6 +276,8 @@ static int mt6577_auxadc_probe(struct platform_device *pdev)
 		goto err_disable_clk;
 	}
 
+	adc_dev->dev_comp = of_device_get_match_data(&pdev->dev);
+
 	mutex_init(&adc_dev->lock);
 
 	mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC,
-- 
2.28.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] iio: adc: mediatek: fix unset field
  2020-10-12 19:46 [PATCH] iio: adc: mediatek: fix unset field Fabien Parent
@ 2020-10-13 15:37 ` Matthias Brugger
  2020-10-18 10:07   ` Jonathan Cameron
  0 siblings, 1 reply; 4+ messages in thread
From: Matthias Brugger @ 2020-10-13 15:37 UTC (permalink / raw)
  To: Fabien Parent, linux-kernel, linux-mediatek, linux-arm-kernel, linux-iio
  Cc: chun-hung.wu, alexandru.ardelean, pmeerw, lars, knaack.h, jic23



On 12/10/2020 21:46, Fabien Parent wrote:
> dev_comp field is used in a couple of places but it is never set. This
> results in kernel oops when dereferencing a NULL pointer. Set the
> `dev_comp` field correctly in the probe function.
> 
> Fixes: 6d97024dce23 ("iio: adc: mediatek: mt6577-auxadc, add mt6765 support")
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>

Ouch.

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

> ---
>   drivers/iio/adc/mt6577_auxadc.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c
> index ac415cb089cd..7bd48377cd79 100644
> --- a/drivers/iio/adc/mt6577_auxadc.c
> +++ b/drivers/iio/adc/mt6577_auxadc.c
> @@ -276,6 +276,8 @@ static int mt6577_auxadc_probe(struct platform_device *pdev)
>   		goto err_disable_clk;
>   	}
>   
> +	adc_dev->dev_comp = of_device_get_match_data(&pdev->dev);
> +
>   	mutex_init(&adc_dev->lock);
>   
>   	mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC,
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] iio: adc: mediatek: fix unset field
  2020-10-13 15:37 ` Matthias Brugger
@ 2020-10-18 10:07   ` Jonathan Cameron
  2020-10-18 17:16     ` Fabien Parent
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Cameron @ 2020-10-18 10:07 UTC (permalink / raw)
  To: Matthias Brugger
  Cc: Fabien Parent, linux-kernel, linux-mediatek, linux-arm-kernel,
	linux-iio, chun-hung.wu, alexandru.ardelean, pmeerw, lars,
	knaack.h

On Tue, 13 Oct 2020 17:37:12 +0200
Matthias Brugger <matthias.bgg@gmail.com> wrote:

> On 12/10/2020 21:46, Fabien Parent wrote:
> > dev_comp field is used in a couple of places but it is never set. This
> > results in kernel oops when dereferencing a NULL pointer. Set the
> > `dev_comp` field correctly in the probe function.
> > 
> > Fixes: 6d97024dce23 ("iio: adc: mediatek: mt6577-auxadc, add mt6765 support")
> > 
> > Signed-off-by: Fabien Parent <fparent@baylibre.com>  
> 
> Ouch.
> 
> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
> 
> > ---
> >   drivers/iio/adc/mt6577_auxadc.c | 2 ++
> >   1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c
> > index ac415cb089cd..7bd48377cd79 100644
> > --- a/drivers/iio/adc/mt6577_auxadc.c
> > +++ b/drivers/iio/adc/mt6577_auxadc.c
> > @@ -276,6 +276,8 @@ static int mt6577_auxadc_probe(struct platform_device *pdev)
> >   		goto err_disable_clk;
> >   	}
> >   
> > +	adc_dev->dev_comp = of_device_get_match_data(&pdev->dev);
> > +

Could we switch this to device_get_match_data(&pdev->dev)?

Whilst is unlikely this driver will used in a platform using ACPI, there
is nothing inside the driver itself preventing this (which is good as no
reason to do so!)   My main motivation for this is to reduce the chances
of cut and paste of the of_* functions in future driver.

Also switch the headers to linux/property.h and linux/mod_devicetable.h 
to more tightly reflect what we are using in the driver.

Thanks,

Jonathan

> >   	mutex_init(&adc_dev->lock);
> >   
> >   	mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC,
> >   


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] iio: adc: mediatek: fix unset field
  2020-10-18 10:07   ` Jonathan Cameron
@ 2020-10-18 17:16     ` Fabien Parent
  0 siblings, 0 replies; 4+ messages in thread
From: Fabien Parent @ 2020-10-18 17:16 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Matthias Brugger, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, linux-iio,
	chun-hung.wu, alexandru.ardelean, pmeerw, lars, knaack.h

Hi Jonathan,

On Sun, Oct 18, 2020 at 12:07 PM Jonathan Cameron <jic23@kernel.org> wrote:
>
> On Tue, 13 Oct 2020 17:37:12 +0200
> Matthias Brugger <matthias.bgg@gmail.com> wrote:
>
> > On 12/10/2020 21:46, Fabien Parent wrote:
> > > dev_comp field is used in a couple of places but it is never set. This
> > > results in kernel oops when dereferencing a NULL pointer. Set the
> > > `dev_comp` field correctly in the probe function.
> > >
> > > Fixes: 6d97024dce23 ("iio: adc: mediatek: mt6577-auxadc, add mt6765 support")
> > >
> > > Signed-off-by: Fabien Parent <fparent@baylibre.com>
> >
> > Ouch.
> >
> > Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
> >
> > > ---
> > >   drivers/iio/adc/mt6577_auxadc.c | 2 ++
> > >   1 file changed, 2 insertions(+)
> > >
> > > diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c
> > > index ac415cb089cd..7bd48377cd79 100644
> > > --- a/drivers/iio/adc/mt6577_auxadc.c
> > > +++ b/drivers/iio/adc/mt6577_auxadc.c
> > > @@ -276,6 +276,8 @@ static int mt6577_auxadc_probe(struct platform_device *pdev)
> > >             goto err_disable_clk;
> > >     }
> > >
> > > +   adc_dev->dev_comp = of_device_get_match_data(&pdev->dev);
> > > +
>
> Could we switch this to device_get_match_data(&pdev->dev)?
>
> Whilst is unlikely this driver will used in a platform using ACPI, there
> is nothing inside the driver itself preventing this (which is good as no
> reason to do so!)   My main motivation for this is to reduce the chances
> of cut and paste of the of_* functions in future driver.
>
> Also switch the headers to linux/property.h and linux/mod_devicetable.h
> to more tightly reflect what we are using in the driver.

I applied these changes in v2.

>
> Thanks,
>
> Jonathan
>
> > >     mutex_init(&adc_dev->lock);
> > >
> > >     mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC,
> > >
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-12 19:46 [PATCH] iio: adc: mediatek: fix unset field Fabien Parent
2020-10-13 15:37 ` Matthias Brugger
2020-10-18 10:07   ` Jonathan Cameron
2020-10-18 17:16     ` Fabien Parent

Linux-IIO Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-iio/0 linux-iio/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-iio linux-iio/ https://lore.kernel.org/linux-iio \
		linux-iio@vger.kernel.org
	public-inbox-index linux-iio

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-iio


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git