From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754685AbbCSNP0 (ORCPT ); Thu, 19 Mar 2015 09:15:26 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:47552 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752484AbbCSNPY (ORCPT ); Thu, 19 Mar 2015 09:15:24 -0400 Date: Thu, 19 Mar 2015 14:15:20 +0100 From: Greg Kroah-Hartman To: Kristina =?utf-8?Q?Mart=C5=A1enko?= Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, Marek Vasut , Jonathan Cameron Subject: Re: [PATCH 3.14 37/96] iio: mxs-lradc: only update the buffer when its conversions have finished Message-ID: <20150319131520.GA23723@kroah.com> References: <20150316140855.186617380@linuxfoundation.org> <20150316140856.907657028@linuxfoundation.org> <550A0BED.8010300@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <550A0BED.8010300@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 19, 2015 at 01:36:13AM +0200, Kristina Martšenko wrote: > On 16/03/15 16:09, Greg Kroah-Hartman wrote: > > 3.14-stable review patch. If anyone has any objections, please let me know. > > > > ------------------ > > > > From: Kristina Martšenko > > > > commit 89bb35e200bee745c539a96666e0792301ca40f1 upstream. > > > > Using the touchscreen while running buffered capture results in the > > buffer reporting lots of wrong values, often just zeros. This is because > > we push readings to the buffer every time a touchscreen interrupt > > arrives, including when the buffer's own conversions have not yet > > finished. So let's only push to the buffer when its conversions are > > ready. > > > > Signed-off-by: Kristina Martšenko > > Reviewed-by: Marek Vasut > > Signed-off-by: Jonathan Cameron > > Signed-off-by: Greg Kroah-Hartman > > > > --- > > drivers/staging/iio/adc/mxs-lradc.c | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > --- a/drivers/staging/iio/adc/mxs-lradc.c > > +++ b/drivers/staging/iio/adc/mxs-lradc.c > > @@ -1160,9 +1160,12 @@ static irqreturn_t mxs_lradc_handle_irq( > > } > > > > if (iio_buffer_enabled(iio)) > > - iio_trigger_poll(iio->trig, iio_get_time_ns()); > > - else if (reg & LRADC_CTRL1_LRADC_IRQ(0)) > > + if (iio_buffer_enabled(iio)) { > > + if (reg & lradc->buffer_vchans) > > + iio_trigger_poll(iio->trig, iio_get_time_ns()); > > + } else if (reg & LRADC_CTRL1_LRADC_IRQ(0)) { > > complete(&lradc->completion); > > + } > > > > mxs_lradc_reg_clear(lradc, reg & clr_irq, LRADC_CTRL1); > > I think something got messed up here, this now has both these lines: > > if (iio_buffer_enabled(iio)) > if (iio_buffer_enabled(iio)) { > > which makes the 'else' case unreachable, and breaks reading the ADC > through sysfs. It should just be the second line. > > Greg, can you fix it up for the next version? Let me know if I need to > do something. And sorry for not looking at this sooner. Ah crap, I messed this up when doing the backport, I'll fix it up, it's my fault here. Thanks for noticing this, I'll go make up a fix now... thanks, greg k-h