Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp988189ybk; Sun, 10 May 2020 02:54:41 -0700 (PDT) X-Google-Smtp-Source: APiQypJ4538gU2wIlAY6p5xkjXL5KPCpMsEgGaqbjN308vfmBrehEmA49onzaH0Krkpvi2Pt6DqL X-Received: by 2002:a05:6402:558:: with SMTP id i24mr8586151edx.347.1589104481220; Sun, 10 May 2020 02:54:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589104481; cv=none; d=google.com; s=arc-20160816; b=YWrUHtAd1ToUAOy2p4ejEyz8+LlsxrFmxice95KOQsM9IwoepVaMIk+SjXewof0rzs 2axjFvTKLcuhX4rMBusPbZKnbQCvUcW8hmllWXQuku3qgwtPP9df9C/8q6JQCeigbq4J cb0C69gFm66oVywRkjEu9IiHzpBCVy4PLs/EA9FQ7o+oTV5xlGBRdi/O8uy+7IpW8Q/7 bNLIJbiQzq8cJ21PAcJNSQDeCqpLI/YhVBPHJjAYZ3J9JkJzvDxEfQHInVOgzI1EynRk ODwnbt2GpH66AimHwn1YFH/oTg3oc3PL/4PUvRkoB4vIcsq3FYvIS3dWMMTRf1aUto3b onOg== 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 :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=DSt7ehhdUkWDaQHrepYs883uDTzyZo2Gr8YUKv+fB+M=; b=HcMvhrql0c1xm+7UOxEYZwFw2uByCDgVQX4f6Obo4ysP/NIMzY25ezrg5Pg5VZJwuI s4GXEDcpk0F27SKWMuNtyzRK+vb5m5gEl5uI3eJC0MYnbxIJtSMVZTHtktajyCKiwMrX WpYFAWclMK6cTFMYmAw/t9SJyZ/l3f4b3yxnUGmvKOPrWeSbiywQ/qTlhY7fz8dfLqtt O2+wYpXbOipXr39YNVQx8tYZ3l8A4jG/5CprZIJlXsTVdaFhvGJDFY20PUWNisWUYnOR BaMycSJ3C2y+1wN5iNfpMaScqL+DN5/Gg+cGmlbbLhmWhVp/CQrT7FBFDJWoIjXcBu6B IgjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=irHWIN9b; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p16si3916903ejx.212.2020.05.10.02.54.18; Sun, 10 May 2020 02:54:41 -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=irHWIN9b; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728129AbgEJJwm (ORCPT + 99 others); Sun, 10 May 2020 05:52:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:56906 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726704AbgEJJwm (ORCPT ); Sun, 10 May 2020 05:52:42 -0400 Received: from archlinux (cpc149474-cmbg20-2-0-cust94.5-4.cable.virginm.net [82.4.196.95]) (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 132C920820; Sun, 10 May 2020 09:52:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589104361; bh=UNTtwhximIfphTFUiJ0t06E4k73XdFCK+rXEofTQgBA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=irHWIN9bSKRMi6LY2WR48cdRl7v8B/R/YqTomOck68PCRfDI3/cBEd5sCVHX8CAXS HeZ15K88YRFklayCmjrWy+MparELArnR2mal4gOBI8iuvbBgNfm/PWMpLeRuUNLGe9 K8R9vtOUP28no2zb/wtDQJumcT9nkKBSdlTrXFwI= Date: Sun, 10 May 2020 10:52:36 +0100 From: Jonathan Cameron To: Andreas Klinger Cc: knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net, bgolaszewski@baylibre.com, linus.walleij@linaro.org, tglx@linutronix.de, allison@lohutok.net, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] iio: bmp280: fix compensation of humidity Message-ID: <20200510105236.241eee37@archlinux> In-Reply-To: <20200504181033.GA15745@arbad> References: <20200504181033.GA15745@arbad> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 4 May 2020 20:10:34 +0200 Andreas Klinger wrote: > Limit the output of humidity compensation to the range between 0 and 100 > percent. > > Depending on the calibration parameters of the individual sensor it > happens, that a humidity above 100 percent or below 0 percent is > calculated, which don't make sense in terms of relative humidity. > > Add a clamp to the compensation formula as described in the datasheet of > the sensor in chapter 4.2.3. > > Although this clamp is documented, it was never in the driver of the > kernel. > > It depends on the circumstances (calibration parameters, temperature, > humidity) if one can see a value above 100 percent without the clamp. > The writer of this patch was working with this type of sensor without > noting this error. So it seems to be a rare event when this bug occures. > > Signed-off-by: Andreas Klinger On basis of description I'm going to take this the slow way (next merge window). If you want it backported to stable I don't mind but I haven't marked it as such so you'll have to request it explicitly after the patch is in Linus' tree. It's reasonably likely the scripts will pick this one up anyway though... Thanks, Jonathan > --- > > Change to v2: > Thanks to the review of Jonathan a more descriptive commit message is > added. > > Change to v1: > Thanks to Tomasz for suggesting the easier to use function clamp_val() > which is now used. > > drivers/iio/pressure/bmp280-core.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c > index 29c209cc1108..297ee2205bf6 100644 > --- a/drivers/iio/pressure/bmp280-core.c > +++ b/drivers/iio/pressure/bmp280-core.c > @@ -271,6 +271,8 @@ static u32 bmp280_compensate_humidity(struct bmp280_data *data, > + (s32)2097152) * calib->H2 + 8192) >> 14); > var -= ((((var >> 15) * (var >> 15)) >> 7) * (s32)calib->H1) >> 4; > > + var = clamp_val(var, 0, 419430400); > + > return var >> 12; > }; >