Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2985488imu; Mon, 19 Nov 2018 09:00:41 -0800 (PST) X-Google-Smtp-Source: AJdET5fMCeouHJcdsIbtsgdIktpHTrKnepHoJfM4PLKhFQGH0HEGHMTyiqGFuj/ictMlWSfnt4ND X-Received: by 2002:a62:3046:: with SMTP id w67-v6mr23670983pfw.177.1542646841537; Mon, 19 Nov 2018 09:00:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542646841; cv=none; d=google.com; s=arc-20160816; b=cQG2Yw6iDtiqixqFSrkPmlEMXXYqjiMzFH80zN5SXgVQPg2XUBhRMVXcbtFRWCiPFG muJ32tRy8mid3GcqWJ6A/8J8+6c7HxkxRTbpbSmm1NKODCqFNP6AxlKnxiUG9UNSDSm4 pt6qSWAMmXXNWhXGmKzR+AdmFcGZBWyXaXOUkiXiolHu2EPMBatERwEWb49ixKzgTUIw an2gqQE5ijHEeSOan6Zel+B8Pl+lr2UnAgE2lw+kFr3RMb8Cj7LG0O4OJB4ZjExLmLsD WN6xis07c4KnTSeqSlML3Bfni8zbq42EWTdNZvlHacLRjuqHkMP1J5nZ5TkklmhLgTui NV7A== 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=ZQcI4glS7yuqWmuyZ3vLbc4v9KjRlNBHYiFOTlYuZNc=; b=t1pw1fbFjDCB3U+mb2CwR6tLdyIo7sZDetgQ6T6j/At7kJgULzxaT2HWiBLs+CsBL9 +PsvCHwBzeJZs2/RWE/ovvNSnM98oF6E+GTrXMF9MEz8PwIQYZEyaKeObuBOJRykjCTv U8u15GZpGkUt3hYd1sth9BcyOvJD676GfeyPaW5uBlrZKCdBpsjgu1qHSt7xpmewVInp HcGaxUHwY1fJUHTeNI8Wa+NrYoQvJrWUZSiicqkUlO+nXs/+1WBvg/OeaTxI6YgR+wP9 pMxNei0UZ7NnLQCANj4dm5Ui5J6ROgP21mEJVKAufHlxARWWc4mmYuqrSRhHlPN5F75r m0jA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pkWTXm5L; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v5si13202798pfe.52.2018.11.19.09.00.25; Mon, 19 Nov 2018 09:00:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pkWTXm5L; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404876AbeKTDWt (ORCPT + 99 others); Mon, 19 Nov 2018 22:22:49 -0500 Received: from mail.kernel.org ([198.145.29.99]:34618 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404849AbeKTDWs (ORCPT ); Mon, 19 Nov 2018 22:22:48 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 CDD16214C4; Mon, 19 Nov 2018 16:58:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542646713; bh=kCWFwAuv9g6nSOx/AGIIw7f3raCFIiG6gGo4YlJOqvA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pkWTXm5LXAGtd7tZek4GH9jr5WLEYc4+7nWLi13fDzC8uJSTxKqBxycqraNd0hdnK xAMF8IX5JI6fzv0TbHa+U+VeXoskqSTI+jxrnGHoQGCx5pZC6nTEECBUxuqxTZP59S sIZ1WhcUIGdSbfIST5evSiSSX7/cZ0d5/Xsai1Vs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Maxime Ripard , Eugen Hristev , Ludovic Desroches , Stable@vger.kernel.org, Jonathan Cameron Subject: [PATCH 4.4 061/160] iio: adc: at91: fix wrong channel number in triggered buffer mode Date: Mon, 19 Nov 2018 17:28:20 +0100 Message-Id: <20181119162637.351077182@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181119162630.031306128@linuxfoundation.org> References: <20181119162630.031306128@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review 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 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Eugen Hristev commit aea835f2dc8a682942b859179c49ad1841a6c8b9 upstream. When channels are registered, the hardware channel number is not the actual iio channel number. This is because the driver is probed with a certain number of accessible channels. Some pins are routed and some not, depending on the description of the board in the DT. Because of that, channels 0,1,2,3 can correspond to hardware channels 2,3,4,5 for example. In the buffered triggered case, we need to do the translation accordingly. Fixed the channel number to stop reading the wrong channel. Fixes: 0e589d5fb ("ARM: AT91: IIO: Add AT91 ADC driver.") Cc: Maxime Ripard Signed-off-by: Eugen Hristev Acked-by: Ludovic Desroches Cc: Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/iio/adc/at91_adc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/iio/adc/at91_adc.c +++ b/drivers/iio/adc/at91_adc.c @@ -245,12 +245,14 @@ static irqreturn_t at91_adc_trigger_hand struct iio_poll_func *pf = p; struct iio_dev *idev = pf->indio_dev; struct at91_adc_state *st = iio_priv(idev); + struct iio_chan_spec const *chan; int i, j = 0; for (i = 0; i < idev->masklength; i++) { if (!test_bit(i, idev->active_scan_mask)) continue; - st->buffer[j] = at91_adc_readl(st, AT91_ADC_CHAN(st, i)); + chan = idev->channels + i; + st->buffer[j] = at91_adc_readl(st, AT91_ADC_CHAN(st, chan->channel)); j++; }