Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp827346ybg; Tue, 9 Jun 2020 14:00:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwGjuhRwCf8/3hLrXKSnv5kO5IMzqf4T0o++TV9YBTfMU9a3OLuH92xv5wYvoA9AZDGMEno X-Received: by 2002:a17:906:e05:: with SMTP id l5mr286984eji.318.1591736429472; Tue, 09 Jun 2020 14:00:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591736429; cv=none; d=google.com; s=arc-20160816; b=S+NI3Tk8FPiOqAnVear/7JRBN5AYNrQ2Z3TXhxANdVnPo4eNT9soENTxFjAuEJrmma MQ3lgjfJiVkR3ewX4VhtlXmVdEDiC12Kcb+cY+eDIdY/fLqpwVzgOEs44/WGOQpa98Ik Hf5LL0b9fnz5/Ff8bfP3ETMorL//L6hnp2B7yPazjppQRC0Jgbozh57NaLpdmUFcC20q Btiym+qcwoWTYmDNKTz/cncMUqTlZFxPnq+p72jNn0cHHRxzv9IZbMxJyrhuqnMKCW57 kdp3PDJX/rl44j6wcvzvlVdcVoKfBGBR5+1+dcAv8f5a9e5qBO9xRqyC8yca6NfaMTjJ rzBA== 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=hhJeX4plD75lzMC6VMQE5TVaKbruuAYUubFIgVDmMGc=; b=sGFoodDgabKFm/sev5ImEor7XnnOZx/3yoV/186BmyF8TsPC4/hgBkE1xrwMvANFZT Fiz9E554/cq6e2XHKoXiTz0Jz5NL6MDdQh/edTZdrE3W72mBIWKhdTuOQJw1+0CL3QsF PN1E9DFZRVdXX4hzUO+ZMTcFFlPe1kPzpkYje0X0AudT598eG1z33cTsZzVd+q0ca3YM +FbrIUI4g7qEr8RcOVYUQkn/7z6wQ3lSfXYIteNX02urYtcmO+ILzvO+erE31MqjaqRE +1JoIYYgpiEK935VcKfReWc2xEikoH+ZpbeUmVV/7fdVgU7TVf6G0U2gaWW3hgN2RIFM gM/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qfEoGpql; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l20si11090175ejr.66.2020.06.09.14.00.06; Tue, 09 Jun 2020 14:00:29 -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=qfEoGpql; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388040AbgFISFA (ORCPT + 99 others); Tue, 9 Jun 2020 14:05:00 -0400 Received: from mail.kernel.org ([198.145.29.99]:41832 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731636AbgFIRv6 (ORCPT ); Tue, 9 Jun 2020 13:51:58 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.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 BE4D720734; Tue, 9 Jun 2020 17:51:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1591725118; bh=qE2V6Cgh1eGvdlGwWKpA6a0xf8aeIyRAW3KWZ5PbBQo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qfEoGpql/mn85fbmglPOd0SES/tBA7rpZIClpAmuEi9Ff2kNt2ny5O7vrtKORACCf xcXW3pJXenFjZm7F6cpbW+tQAKO3T6J72LmbDBy/nxZBVBbIrsvNiEmNbRSOXDy5UM XYiqr7useg+e0pkyJJ6TV6TpwFQ2VwfdGZfWmMj8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mathieu Othacehe , Stable@vger.kernel.org, Jonathan Cameron Subject: [PATCH 4.19 11/25] iio: vcnl4000: Fix i2c swapped word reading. Date: Tue, 9 Jun 2020 19:45:01 +0200 Message-Id: <20200609174049.916148213@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200609174048.576094775@linuxfoundation.org> References: <20200609174048.576094775@linuxfoundation.org> User-Agent: quilt/0.66 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 From: Mathieu Othacehe commit 18dfb5326370991c81a6d1ed6d1aeee055cb8c05 upstream. The bytes returned by the i2c reading need to be swapped unconditionally. Otherwise, on be16 platforms, an incorrect value will be returned. Taking the slow path via next merge window as its been around a while and we have a patch set dependent on this which would be held up. Fixes: 62a1efb9f868 ("iio: add vcnl4000 combined ALS and proximity sensor") Signed-off-by: Mathieu Othacehe Cc: Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/iio/light/vcnl4000.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -166,7 +166,6 @@ static int vcnl4000_measure(struct vcnl4 u8 rdy_mask, u8 data_reg, int *val) { int tries = 20; - __be16 buf; int ret; mutex_lock(&data->vcnl4000_lock); @@ -193,13 +192,12 @@ static int vcnl4000_measure(struct vcnl4 goto fail; } - ret = i2c_smbus_read_i2c_block_data(data->client, - data_reg, sizeof(buf), (u8 *) &buf); + ret = i2c_smbus_read_word_swapped(data->client, data_reg); if (ret < 0) goto fail; mutex_unlock(&data->vcnl4000_lock); - *val = be16_to_cpu(buf); + *val = ret; return 0;