Message ID | 20201018194644.3366846-1-fparent@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] iio: adc: mediatek: fix unset field | expand |
On Sun, 18 Oct 2020 21:46:44 +0200 Fabien Parent <fparent@baylibre.com> 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> > Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Applied to the fixes-togreg branch of iio.git and marked for stable. Thanks, Jonathan > --- > > Changelog: > V2: > * s/of_device_get_match_data/device_get_match_data > * include mod_devicetable.h and property.h instead of of_*.h headers > V3: > * Remove extra space between Fixes tag and Signed-off-by tag > * Add missing Reviewed-by tag from Matthias Brugger > > drivers/iio/adc/mt6577_auxadc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c > index ac415cb089cd..79c1dd68b909 100644 > --- a/drivers/iio/adc/mt6577_auxadc.c > +++ b/drivers/iio/adc/mt6577_auxadc.c > @@ -9,9 +9,9 @@ > #include <linux/err.h> > #include <linux/kernel.h> > #include <linux/module.h> > -#include <linux/of.h> > -#include <linux/of_device.h> > +#include <linux/mod_devicetable.h> > #include <linux/platform_device.h> > +#include <linux/property.h> > #include <linux/iopoll.h> > #include <linux/io.h> > #include <linux/iio/iio.h> > @@ -276,6 +276,8 @@ static int mt6577_auxadc_probe(struct platform_device *pdev) > goto err_disable_clk; > } > > + adc_dev->dev_comp = device_get_match_data(&pdev->dev); > + > mutex_init(&adc_dev->lock); > > mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC,
diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c index ac415cb089cd..79c1dd68b909 100644 --- a/drivers/iio/adc/mt6577_auxadc.c +++ b/drivers/iio/adc/mt6577_auxadc.c @@ -9,9 +9,9 @@ #include <linux/err.h> #include <linux/kernel.h> #include <linux/module.h> -#include <linux/of.h> -#include <linux/of_device.h> +#include <linux/mod_devicetable.h> #include <linux/platform_device.h> +#include <linux/property.h> #include <linux/iopoll.h> #include <linux/io.h> #include <linux/iio/iio.h> @@ -276,6 +276,8 @@ static int mt6577_auxadc_probe(struct platform_device *pdev) goto err_disable_clk; } + adc_dev->dev_comp = device_get_match_data(&pdev->dev); + mutex_init(&adc_dev->lock); mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC,