From patchwork Thu Sep 29 09:06:19 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Slaby X-Patchwork-Id: 77121 Delivered-To: patch@linaro.org Received: by 10.140.106.72 with SMTP id d66csp230166qgf; Thu, 29 Sep 2016 02:07:07 -0700 (PDT) X-Received: by 10.66.173.145 with SMTP id bk17mr685069pac.8.1475140027225; Thu, 29 Sep 2016 02:07:07 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s5si13466257paw.9.2016.09.29.02.07.07; Thu, 29 Sep 2016 02:07:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932949AbcI2JHG (ORCPT + 3 others); Thu, 29 Sep 2016 05:07:06 -0400 Received: from mx2.suse.de ([195.135.220.15]:39841 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932607AbcI2JHB (ORCPT ); Thu, 29 Sep 2016 05:07:01 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 4E82BAC29; Thu, 29 Sep 2016 09:06:59 +0000 (UTC) From: Jiri Slaby To: stable@vger.kernel.org Cc: Linus Walleij , Jonathan Cameron , Jiri Slaby Subject: [patch added to 3.12-stable] iio: accel: kxsd9: Fix scaling bug Date: Thu, 29 Sep 2016 11:06:19 +0200 Message-Id: <20160929090654.27405-8-jslaby@suse.cz> X-Mailer: git-send-email 2.10.0 In-Reply-To: <20160929090654.27405-1-jslaby@suse.cz> References: <20160929090654.27405-1-jslaby@suse.cz> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Linus Walleij This patch has been added to the 3.12 stable tree. If you have any objections, please let us know. -- 2.10.0 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html =============== commit 307fe9dd11ae44d4f8881ee449a7cbac36e1f5de upstream. All the scaling of the KXSD9 involves multiplication with a fraction number < 1. However the scaling value returned from IIO_INFO_SCALE was unpredictable as only the micros of the value was assigned, and not the integer part, resulting in scaling like this: $cat in_accel_scale -1057462640.011978 Fix this by assigning zero to the integer part. Tested-by: Jonathan Cameron Signed-off-by: Linus Walleij Signed-off-by: Jonathan Cameron Signed-off-by: Jiri Slaby --- drivers/iio/accel/kxsd9.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c index 39220a11f530..ed60a8806f01 100644 --- a/drivers/iio/accel/kxsd9.c +++ b/drivers/iio/accel/kxsd9.c @@ -166,6 +166,7 @@ static int kxsd9_read_raw(struct iio_dev *indio_dev, ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C)); if (ret < 0) goto error_ret; + *val = 0; *val2 = kxsd9_micro_scales[ret & KXSD9_FS_MASK]; ret = IIO_VAL_INT_PLUS_MICRO; break;