Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp1338684pxm; Sat, 26 Feb 2022 12:14:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJxQ2Du78MPvQOy7ByLWi2oIK/GVz+kPd1X3750i2DqQuyDwzbG08e8vvKwOlcBvz7HdsyFB X-Received: by 2002:a17:902:900c:b0:14d:81e9:75d with SMTP id a12-20020a170902900c00b0014d81e9075dmr13336050plp.69.1645906493040; Sat, 26 Feb 2022 12:14:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645906493; cv=none; d=google.com; s=arc-20160816; b=lziuZ3Zz3SGuGhWzA9zod6W3PJ/EZBUpP2zqogv14aYgeOPpsgavgF1t+h1pdcj79K 80KQoMPEu73TTnqfCZttDIPL4Cls/IMVGSu7nNv2HWgt/8n1RCR7IGi8rikSt13fIiQu NiZ3d2Fac2xVW6Kb5IAnXuswTGm4Wio4c4RXo7GX2RGD8zuKEX0eu1iZmKi+yvbBRM0j FbvhYv7sDO/HW98M6CK1zIYNpeQdYO6tapfxffyrlGQn9OR6b+CvYkXprDl2Zg6gWG2y XGDY2nnmXX1Iqvf4Btm2oADdvaeNNI/7GZNZ70EpH8HESTqqCXcxyeSHpgJUwPdRClo2 6zsw== 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 :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=FmydSu/wh1768As+6ckKswBcwPu850Kxx/1DKvK7iOs=; b=eV7Lm6yk5giYHW6nQ3QQuJch//AQWey5yA30g+RlFogBPx+NmBCHV16Umy1ugYFb+8 hjxyHWd8/SXFWAFmSbF/luzSRgVdmI/33pp5Af9PHlS1ihMyWpcKyVDBJDQiRjCu6iA9 aYHc1yCZsFkBNcFbs++8J7qnARrn4ZVsDOh4Z1w4DBOeXoyz0vwD9YS3+Qn15zW40iAi 7/Tm5UhEEoxpCXxKJRDiLBLckDph9tnY9X7lXmA3JYLSqkmATG9BpYSdXUVtnRXYVy7Y cvBoGHZiaOFPiUxLXq416m7/zFXo2EH1dveZNtWdea9+q8UuPCHTVgNeF6YjP2VLnQ81 noHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=vIGp7sND; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id a6-20020a170902ecc600b0014f03b714f3si5780176plh.103.2022.02.26.12.14.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Feb 2022 12:14:53 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=vIGp7sND; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E497121A9BF; Sat, 26 Feb 2022 12:08:01 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232278AbiBZRzC (ORCPT + 99 others); Sat, 26 Feb 2022 12:55:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232261AbiBZRzA (ORCPT ); Sat, 26 Feb 2022 12:55:00 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8035AA024; Sat, 26 Feb 2022 09:54:25 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 64793B80947; Sat, 26 Feb 2022 17:54:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 924F5C340E8; Sat, 26 Feb 2022 17:54:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1645898062; bh=FCbTWnkvqcY+p5LVWDDYg6OE7PvWK1uaWEp7papnCU4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=vIGp7sNDgCk9r7szjI366/IOTTQAHJILLA8/mt83rclKu4HnyZhUgSd8lWs3sjVSh 7UwU4bnpr/D7jgX4yjc3N/3Cw0GUJFWflbyCYcGlUM9ljSiEKCIo527P/8RzqsBdDB e0s7qK7d0GHTGu9+UZ66Qxe60bw3pG7ddevMohAxwXlJCVDS9crng7+VpNtFA8ygXV RYofOSs9Fjvw/3HZtP141Vx5bRS96R+NX7cI2/RFxJa9YW0hDuDhnDP3t380+5J2IW peN6f0Zu6D0vcYXYIDmWivWYh3sNBqlcq9EtE/AN9Cdgk9KteHVtvDl3pCsIPkyCjg Dr8ypLa5v+PvA== Date: Sat, 26 Feb 2022 18:01:24 +0000 From: Jonathan Cameron To: "Colin King (gmail)" Cc: Marcelo Schmitt , linux-iio@vger.kernel.org, "linux-kernel@vger.kernel.org" Subject: Re: iio:adc:ad7280a: Move out of staging Message-ID: <20220226180124.175f6162@jic23-huawei> In-Reply-To: <69aeef03-69ba-07f4-2506-31e481f86c76@gmail.com> References: <69aeef03-69ba-07f4-2506-31e481f86c76@gmail.com> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 24 Feb 2022 22:56:20 +0000 "Colin King (gmail)" wrote: > Hi, > > Static analysis with clang scan picked up a potential issue with > drivers/iio/adc/ad7280a.c in function ad7280a_write_thresh, the analysis > is as follows: > > switch (chan->type) { > case IIO_VOLTAGE: > value = ((val - 1000) * 100) / 1568; /* LSB 15.68mV */ > value = clamp(value, 0L, 0xFFL); > > ^^ > Note: variable value is being assigned a value > > switch (dir) { > case IIO_EV_DIR_RISING: > addr = AD7280A_CELL_OVERVOLTAGE_REG; > ret = ad7280_write(st, AD7280A_DEVADDR_MASTER, > addr, > 1, val); > if (ret) > break; > st->cell_threshhigh = value; > > ..and value is being used here ^^ > > break; > case IIO_EV_DIR_FALLING: > addr = AD7280A_CELL_UNDERVOLTAGE_REG; > ret = ad7280_write(st, AD7280A_DEVADDR_MASTER, > addr, > 1, val); > if (ret) > break; > st->cell_threshlow = value; > > and value is being used here ^^ > > break; > default: > ret = -EINVAL; > goto err_unlock; > } > break; > > However for the IIO_TEMP case: > > case IIO_TEMP: > value = (val * 10) / 196; /* LSB 19.6mV */ > value = clamp(value, 0L, 0xFFL); > > ^^ > Note: variable value is being assigned a value > > switch (dir) { > case IIO_EV_DIR_RISING: > addr = AD7280A_AUX_ADC_OVERVOLTAGE_REG; > ret = ad7280_write(st, AD7280A_DEVADDR_MASTER, > addr, > 1, val); > if (ret) > break; > st->aux_threshhigh = val; > ^^ > But val is being used here rather than value > > break; > case IIO_EV_DIR_FALLING: > addr = AD7280A_AUX_ADC_UNDERVOLTAGE_REG; > ret = ad7280_write(st, AD7280A_DEVADDR_MASTER, > addr, > 1, val); > if (ret) > break; > st->aux_threshlow = val; > ^^ > and val us being used here rather than value too > > > So for the IIO_TEMP case either the assignment to value is redundant or > the setting of st->aux_threshhigh or st->auxthreashlow is incorrect. Good spot Colin. There is clearly something wrong here. Looking back at the patch where I refactored this it looks to me like I messed up a variable rename and all those writes + setting of aux_threshlow and similar should be using value, not val. https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/commit/?h=togreg&id=112bf4aa4afb5608d77ac9208758528bcdfae70d The modeling we used to verify that particular feature 'worked' was rather minimal so missed this. I'll roll a patch an send out shortly. No huge rush as fix can go in during the rc phase of 5.18 if we don't get it reviewed fast enough to make the merge window. Thanks, Jonathan > > Colin