Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1679771

[PATCHv5 1/6] mfd: da9052: fix manual ADC read after timed out read

From Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Newsgroups linux.kernel
Subject [PATCHv5 1/6] mfd: da9052: fix manual ADC read after timed out read
Date 2017-07-03 10:50 +0200
Message-ID <tZ5dp-74o-35@gated-at.bofh.it> (permalink)
References <tZ5dn-74o-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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@collabora.co.uk>
---
 drivers/mfd/da9052-core.c | 2 ++
 1 file changed, 2 insertions(+)

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;
 
-- 
2.11.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCHv5 0/6] DA9052 hardware monitoring improvements Sebastian Reichel <sebastian.reichel@collabora.co.uk> - 2017-07-03 10:50 +0200
  [PATCHv5 5/6] hwmon: da9052: replace S_IRUGO with 0444 Sebastian Reichel <sebastian.reichel@collabora.co.uk> - 2017-07-03 10:50 +0200
    Re: [PATCHv5,5/6] hwmon: da9052: replace S_IRUGO with 0444 Guenter Roeck <linux@roeck-us.net> - 2017-07-08 17:50 +0200
  [PATCHv5 4/6] mfd: da9052: make touchscreen registration optional Sebastian Reichel <sebastian.reichel@collabora.co.uk> - 2017-07-03 10:50 +0200
    Re: [PATCHv5 4/6] mfd: da9052: make touchscreen registration optional Lee Jones <lee.jones@linaro.org> - 2017-07-17 16:40 +0200
  [PATCHv5 1/6] mfd: da9052: fix manual ADC read after timed out read Sebastian Reichel <sebastian.reichel@collabora.co.uk> - 2017-07-03 10:50 +0200
  [PATCHv5 3/6] mfd: da9052: add register details for TSI Sebastian Reichel <sebastian.reichel@collabora.co.uk> - 2017-07-03 10:50 +0200
    Re: [PATCHv5 3/6] mfd: da9052: add register details for TSI Lee Jones <lee.jones@linaro.org> - 2017-07-17 16:40 +0200
      Re: [PATCHv5 3/6] mfd: da9052: add register details for TSI Lee Jones <lee.jones@linaro.org> - 2017-07-17 16:40 +0200
      Re: [PATCHv5 3/6] mfd: da9052: add register details for TSI Sebastian Reichel <sebastian.reichel@collabora.co.uk> - 2017-07-17 17:30 +0200
        Re: [PATCHv5 3/6] mfd: da9052: add register details for TSI Lee Jones <lee.jones@linaro.org> - 2017-07-18 09:10 +0200

csiph-web