On Sat, 2019-05-11 at 11:15 +0100, Jonathan Cameron wrote: > On Tue, 7 May 2019 16:36:14 +0200 > Philippe Schenker <dev@xxxxxxxxxxxx> wrote: > > > From: Philippe Schenker <philippe.schenker@xxxxxxxxxxx> > > > > Use wait_for_completion_timeout instead of > > wait_for_completion_interuptible_timeout. > > > > The interruptible variant gets constantly interrupted if a user > > program is compiled with the -pg option. > > The killable variant was not used due to the fact that a second > > program, reading on this device, that gets killed is then also killing > > that wait. > > > > Signed-off-by: Philippe Schenker <philippe.schenker@xxxxxxxxxxx> > Hi Phillippe > > This one clashed a little bit with our earlier patch to remove the > unnecessary assignment. I've applied it by hand but please check it. > > Applied to the togreg branch of iio.git and pushed out as testing > for the autobuilders to play with it. > > Thanks, > > Jonathan Hmm, yeah I see it sorry for that! Somehow that line went in again in this patch. Don't know why... Anyway I checked it and it looks good. Thank you! Philippe > > --- > > > > drivers/iio/adc/stmpe-adc.c | 18 ++++-------------- > > 1 file changed, 4 insertions(+), 14 deletions(-) > > > > diff --git a/drivers/iio/adc/stmpe-adc.c b/drivers/iio/adc/stmpe-adc.c > > index 82b43e4522b6..cc752a47444c 100644 > > --- a/drivers/iio/adc/stmpe-adc.c > > +++ b/drivers/iio/adc/stmpe-adc.c > > @@ -77,17 +77,11 @@ static int stmpe_read_voltage(struct stmpe_adc *info, > > stmpe_reg_write(info->stmpe, STMPE_REG_ADC_CAPT, > > STMPE_ADC_CH(info->channel)); > > > > - *val = info->value; > > - > > - ret = wait_for_completion_interruptible_timeout > > - (&info->completion, STMPE_ADC_TIMEOUT); > > + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); > > > > if (ret <= 0) { > > mutex_unlock(&info->lock); > > - if (ret == 0) > > - return -ETIMEDOUT; > > - else > > - return ret; > > + return -ETIMEDOUT; > > } > > > > *val = info->value; > > @@ -116,15 +110,11 @@ static int stmpe_read_temp(struct stmpe_adc *info, > > stmpe_reg_write(info->stmpe, STMPE_REG_TEMP_CTRL, > > STMPE_START_ONE_TEMP_CONV); > > > > - ret = wait_for_completion_interruptible_timeout > > - (&info->completion, STMPE_ADC_TIMEOUT); > > + ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT); > > > > if (ret <= 0) { > > mutex_unlock(&info->lock); > > - if (ret == 0) > > - return -ETIMEDOUT; > > - else > > - return ret; > > + return -ETIMEDOUT; > > } > > > > /*