On Sun, 21 May 2017 21:06:32 +0200 Corentin Labbe <clabbe.montjoie@xxxxxxxxx> wrote: > On Thu, May 18, 2017 at 08:36:07AM +0200, Quentin Schulz wrote: > > For the sake of DT binding stability, this IIO driver is a child of an > > MFD driver for Allwinner A10, A13 and A31 because there already exists a > > DT binding for this IP. The MFD driver has a DT node but the IIO driver > > does not. > > > > The IIO device registers the temperature sensor in the thermal framework > > using the DT node of the parent, the MFD device, so the thermal > > framework could match the phandle to the MFD device in the DT and the > > struct device used to register in the thermal framework. > > > > devm_thermal_zone_of_sensor_register was previously used to register the > > thermal sensor with the parent struct device of the IIO device, > > representing the MFD device. By doing so, we registered actually the > > parent in the devm routine and not the actual IIO device. > > > > This lead to the devm unregister function not being called when the IIO > > module driver is removed. It resulted in the thermal framework still > > polling the get_temp function of the IIO module while the device doesn't > > exist anymore, thus generated a kernel panic. > > > > Use the non-devm function instead and do the unregister manually in the > > remove function. > > > > Fixes: d1caa9905538 ("iio: adc: add support for Allwinner SoCs ADC") > > > > Signed-off-by: Quentin Schulz <quentin.schulz@xxxxxxxxxxxxxxxxxx> > > Reported-by: Corentin Labbe <clabbe.montjoie@xxxxxxxxx> > > --- > > Tested-by: Corentin Labbe <clabbe.montjoie@xxxxxxxxx> Thanks. I'm afraid this has gone into a non rebasing tree (and upstream for that matter) so I can't now apply this. We will have to fall back on the email record. Thanks Jonathan > > Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html