Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3411204pxf; Mon, 22 Mar 2021 05:59:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyyGgeVH0Usl+UDrzGGFDR0MfWcQLnK/AP5oDpPjDCsTKYnODEAcrrx5tPTOvIy4IAZ7Q94 X-Received: by 2002:a17:907:d1b:: with SMTP id gn27mr8042539ejc.227.1616417988276; Mon, 22 Mar 2021 05:59:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616417988; cv=none; d=google.com; s=arc-20160816; b=aF7inijLBxYiWlYzcKsJ2gSm3GS2K54uzSCGVBd95E4LHgsSBi1UPm3kACXlbVeuL9 4FjTqw07xnguwkghST4ZOUk4uAWa+/3P/H39wWtTfd1zcPj/9cI8KxlmZm24jteZcEV/ PXh4bgiB9eBMSzoBDewoGRu1RzM6Tdz/7mPK388zRXuT9Qt6TTvpcecqUpZ7wUoJPldg cTeRjPdWSxBQV4503unGE4k9YnMJ6pOi1fxfdLma89lXrV/Stl4NR+btLq4nkDjx8IBe PjsbCKTCdtC3e1H6oJvFV9T+a9Xe+iLj3Paoupi9tvcSOkIaHk7oU841mOFxUmWJcBS6 ISEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Ag4OzAPHDkKIpg1mDPax1XdI4jPFZkg6vUBDfQ1Rrxc=; b=xtv6r9//i7q/zTq0aiS3mVDmM61ZSdQK5Y/qYyQOnv+h621Gr1HhWyPssa0MdEUA0M cHhHpIQYuiZidJazZZ4CmUabNnp+KKCfBfjOc/r2vOR7zuLXKOUnNtXsKg6XrxuM1P9g GP97LFHON3/UalB5bB375IBzw8MmNmzV4ms2SmqmYAnDnFtceCrDa3+HwJOI37CvBKGA 5M0ZqWK1nK5VNSdZInqg1vPeeLUitPOlmAKJ7NrQ9S5+6w7gTlih8naATtIjUYKK0HnW xvjl3F0oWSUt0mDMzFcVBCOuX5ip+W8ELXe0AM2iF6JXeQM/8WhYh2b8tsPmjinfFirM aQYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=QnBs5CZU; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v5si11223504edx.253.2021.03.22.05.59.26; Mon, 22 Mar 2021 05:59:48 -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=@linuxfoundation.org header.s=korg header.b=QnBs5CZU; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233218AbhCVM55 (ORCPT + 99 others); Mon, 22 Mar 2021 08:57:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:43066 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232224AbhCVMrN (ORCPT ); Mon, 22 Mar 2021 08:47:13 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 64471619BA; Mon, 22 Mar 2021 12:43:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416985; bh=TFKVahvGzm+GotE0wtrWTzAStF8C/uxtKaR3tJVLvec=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QnBs5CZU932Ecd+3lj/TaMgCzMFDelhfFpadA8QUEo/FwLUPgPBa3GGiPHtTwcuvm pszuVZWXXiaFoLo3pNsSQhXPYfP1O3UM2+kPZCOiLKrW3q02pfsnRmnz1ftS3P9Shw 7yUyau5eoDicWKxVRmLJlwGWOeS/ZIH2WXhZMShs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Wilfried Wessner , Andy Shevchenko , Charles-Antoine Couret , Stable@vger.kernel.org, Jonathan Cameron Subject: [PATCH 5.4 43/60] iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask Date: Mon, 22 Mar 2021 13:28:31 +0100 Message-Id: <20210322121923.804433865@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121922.372583154@linuxfoundation.org> References: <20210322121922.372583154@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wilfried Wessner commit f890987fac8153227258121740a9609668c427f3 upstream. Fixes a wrong bit mask used for the ADC's result, which was caused by an improper usage of the GENMASK() macro. The bits higher than ADC's resolution are undefined and if not masked out correctly, a wrong result can be given. The GENMASK() macro indexing is zero based, so the mask has to go from [resolution - 1 , 0]. Fixes: 7f40e0614317f ("iio:adc:ad7949: Add AD7949 ADC driver family") Signed-off-by: Wilfried Wessner Reviewed-by: Andy Shevchenko Reviewed-by: Charles-Antoine Couret Cc: Link: https://lore.kernel.org/r/20210208142705.GA51260@ubuntu Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/iio/adc/ad7949.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/iio/adc/ad7949.c +++ b/drivers/iio/adc/ad7949.c @@ -91,7 +91,7 @@ static int ad7949_spi_read_channel(struc int ret; int i; int bits_per_word = ad7949_adc->resolution; - int mask = GENMASK(ad7949_adc->resolution, 0); + int mask = GENMASK(ad7949_adc->resolution - 1, 0); struct spi_message msg; struct spi_transfer tx[] = { {