iio: adc: palmas_gpadc: fix NULL dereference on rmmod

[ Upstream commit 49f76c499d38bf67803438eee88c8300d0f6ce09 ]

Calling dev_to_iio_dev() on a platform device pointer is undefined and
will make adc NULL.

Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>
Link: https://lore.kernel.org/r/20230313205029.1881745-1-risca@dalakolonin.se
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Patrik Dahlström 2023-03-13 21:50:29 +01:00 committed by Greg Kroah-Hartman
parent 88b31066ff
commit e5992611ab

View File

@ -634,7 +634,7 @@ out:
static int palmas_gpadc_remove(struct platform_device *pdev) static int palmas_gpadc_remove(struct platform_device *pdev)
{ {
struct iio_dev *indio_dev = dev_to_iio_dev(&pdev->dev); struct iio_dev *indio_dev = dev_get_drvdata(&pdev->dev);
struct palmas_gpadc *adc = iio_priv(indio_dev); struct palmas_gpadc *adc = iio_priv(indio_dev);
if (adc->wakeup1_enable || adc->wakeup2_enable) if (adc->wakeup1_enable || adc->wakeup2_enable)