On Fri, 30 Jun 2017, Sebastian Reichel wrote: > It is possible that under heavy system load, the counter in the completion > struct, used for waiting for end of AD conversion, gets incremented twice. > To make sure the driver recovers from this situation, the completion struct > should be reinitialized. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> > --- > drivers/mfd/da9052-core.c | 2 ++ > 1 file changed, 2 insertions(+) Applied, thanks. > diff --git a/drivers/mfd/da9052-core.c b/drivers/mfd/da9052-core.c > index a88c2065d8ab..977418ca9117 100644 > --- a/drivers/mfd/da9052-core.c > +++ b/drivers/mfd/da9052-core.c > @@ -386,6 +386,8 @@ int da9052_adc_manual_read(struct da9052 *da9052, unsigned char channel) > > mutex_lock(&da9052->auxadc_lock); > > + reinit_completion(&da9052->done); > + > /* Channel gets activated on enabling the Conversion bit */ > mux_sel = chan_mux[channel] | DA9052_ADC_MAN_MAN_CONV; > -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html