]> asedeno.scripts.mit.edu Git - linux.git/commit
iio: adc: meson_saradc: Fix memory allocation order
authorRemi Pommarel <repk@triplefau.lt>
Sun, 1 Sep 2019 10:54:10 +0000 (12:54 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 8 Sep 2019 11:30:32 +0000 (12:30 +0100)
commitde10ac47597e7a3596b27631d0d5ce5f48d2c099
treee9ac1b8e5ff02d690bca1d72a1fec2d244cffecc
parentb33f56a1e40588214320926293585f088fb390b0
iio: adc: meson_saradc: Fix memory allocation order

meson_saradc's irq handler uses priv->regmap so make sure that it is
allocated before the irq get enabled.

This also fixes crash when CONFIG_DEBUG_SHIRQ is enabled, as device
managed resources are freed in the inverted order they had been
allocated, priv->regmap was freed before the spurious fake irq that
CONFIG_DEBUG_SHIRQ adds called the handler.

Fixes: 3af109131b7eb8 ("iio: adc: meson-saradc: switch from polling to interrupt mode")
Reported-by: Elie Roudninski <xademax@gmail.com>
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: Elie ROUDNINSKI <xademax@gmail.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/meson_saradc.c