Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp696876ybz; Fri, 1 May 2020 07:00:46 -0700 (PDT) X-Google-Smtp-Source: APiQypKBVl/wiZRuS85cmoNkvWQ2/ZvdC8Q/Lu17WlXEfYGVvdhq+quaDYNC/NcGcvxuLmY4fBqk X-Received: by 2002:a17:907:214d:: with SMTP id rk13mr3400610ejb.220.1588341646534; Fri, 01 May 2020 07:00:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588341646; cv=none; d=google.com; s=arc-20160816; b=uel4CTtv05WSRKbzpwyIewI48GrJys+NXFtiNFQezoSbtMOG+tO56t9OItSCvsEnGy EdVcALakmXp0vNg8QFS4DV9WCYI2EuvnZYBSOnk3oTez81C445NKA5qcLXYF8CE7oi1M WVEyK8oJTiKVwvHsGJChSpQcnkAHNDhBf5QzdhT7JwJLTuGdZQNRkg1gDInw4f/9a1wT fve30mipaEFEgQxy1ywPDlT6SUvbTqpEI/a57GePAIlbhedjGCwtb9wv+HaGIcB9BoJt oP9phP1UBKZHtPDCdH/vPj5wkGQ5l3oz5hTr78lhWENB6gcAuVnwDeKIm9knJLAUp8RV 63dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=12U6/pJkcyYd18NGPqSWOxqcO82L+/H1DY6uJbLT/u8=; b=T/MrU0IKkcUGbQfsop954bKTy5Mhw7vG2hOZItoQHXF8kypiWWHW7VA+hfmxPj2MT0 DW74LlCeA6/brxI0MOWuwXQ6/zJ+/VtnkJQ206jQe9DLNVSjcIRI0SGTs1n2aoRCLZ4h 6ISKc8OTy9do4TO19vJkKe0Qsl0Gjb8cL7TMETbMwOtLs6NRiX++7+6DITk9gAZWU5zh tVahw4+By1937e2xpb6i/irqOUAmd/gFpe+yHDxGoadFcDHKBfJeKC+bAkgTeHoJO/EE bW4AL6Ao4XuwnoxKXS6uhgJiGOps2dSF/QquVBYEB0WsI9sPXFJFWE1dd07Xl8GEnw11 AQKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="T99wMS/q"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k15si1903406edk.194.2020.05.01.07.00.21; Fri, 01 May 2020 07:00:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="T99wMS/q"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731048AbgEAN4O (ORCPT + 99 others); Fri, 1 May 2020 09:56:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:57924 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730351AbgEANcu (ORCPT ); Fri, 1 May 2020 09:32:50 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 616702173E; Fri, 1 May 2020 13:32:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588339969; bh=Z/zPxkWe2fRUFC3yfV2DUN3dnKzbzDiP4hZZYzjw2t0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=T99wMS/qk5mimyAgPa9SAgWP3Fh5nC8HyiDfIc9gsF0T2GZNGrWzrd8j0y2ggkhPG qMTo8h0gB5qc6joGC0VBwfDtpBut/rhgifhRDBja5FoghyMtxPz003gI6yhjG2uqyI aZi92aaebovTxA4RvIXT90O8jZAiPYEqqhugnzh0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Stable@vger.kernel.org, Jonathan Cameron Subject: [PATCH 4.14 040/117] iio: xilinx-xadc: Fix clearing interrupt when enabling trigger Date: Fri, 1 May 2020 15:21:16 +0200 Message-Id: <20200501131549.533545909@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200501131544.291247695@linuxfoundation.org> References: <20200501131544.291247695@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Lars-Peter Clausen commit f954b098fbac4d183219ce5b42d76d6df2aed50a upstream. When enabling the trigger and unmasking the end-of-sequence (EOS) interrupt the EOS interrupt should be cleared from the status register. Otherwise it is possible that it was still set from a previous capture. If that is the case the interrupt would fire immediately even though no conversion has been done yet and stale data is being read from the device. The old code only clears the interrupt if the interrupt was previously unmasked. Which does not make much sense since the interrupt is always masked at this point and in addition masking the interrupt does not clear the interrupt from the status register. So the clearing needs to be done unconditionally. Signed-off-by: Lars-Peter Clausen Fixes: bdc8cda1d010 ("iio:adc: Add Xilinx XADC driver") Cc: Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/iio/adc/xilinx-xadc-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/iio/adc/xilinx-xadc-core.c +++ b/drivers/iio/adc/xilinx-xadc-core.c @@ -660,7 +660,7 @@ static int xadc_trigger_set_state(struct spin_lock_irqsave(&xadc->lock, flags); xadc_read_reg(xadc, XADC_AXI_REG_IPIER, &val); - xadc_write_reg(xadc, XADC_AXI_REG_IPISR, val & XADC_AXI_INT_EOS); + xadc_write_reg(xadc, XADC_AXI_REG_IPISR, XADC_AXI_INT_EOS); if (state) val |= XADC_AXI_INT_EOS; else