Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp840126pxy; Wed, 28 Apr 2021 15:26:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzcvirrYv17Teb1zEscyI8iv7Xzd6h4A3K8z8xnmiYywpSQzRchMEaUmXFHpJIxn0KrsmSy X-Received: by 2002:a05:6402:94c:: with SMTP id h12mr14227776edz.148.1619648819461; Wed, 28 Apr 2021 15:26:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619648819; cv=none; d=google.com; s=arc-20160816; b=z4ykt3vkDdAdKM99Hlb5F0ORk7vhH+JpPrhbSZ86wr7uVAoO6jts2Wd0s+U1raDUIM 8ZkQYnireY6Eedo1fhSvR5oyWua6jgPSiv0for1S6z+Bsx498xJnm0iArSlFflaJlKR5 f4NhzIt4L0ByVVITthiYtGrH+C8gCapbIRNGP+fwkWY1EnVBtTY9/YleUOyhJSkBCAMs QwcJBucfLCG9H2VSYnhvt+L9ima9NumhEnUP9u3nXrd87r5mQaILVSSx0u0CTNFkrWM8 88mMc3lCgjZyEBQAfjzZX0PbHxOa3BZ55/AzaM9HQbqeixKA1eyQJrwYqTv0XIxh0EE6 bA1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:dkim-signature; bh=/i2gS156S6gEh+cEhXdoli/Sw9t98OKfaO6toaQ09U4=; b=HlisFON1pEXGva5JkX5XqwA69NVNMHWTX0h++pQjPc38nLQMKatJ1q6JqfKAlWEQoN iPfn8DJFmaAOO12IgBlvn643WyLoMb1fqt/NycbMe340/Y7EIyIhBiBuS/w02kBQetu4 h8O3L2IZEDAjJweGJPTMdkuj+BaZE1un+EWxb4Xe7XBGRL6KF4MlRNdHBCGllmdrKXHo eNMs6+EBIFY0mhEpLeobGUnO5/6W0Cyra/otG/iNnyiwf8QvNOqhojI/z4m+2xp3UpkP xbYbVIRJRGEK8VBsBWwqZcTpGixzivHnS4z6N0iKzs3HsMU+Q0isM7+VYNJmwg7yaoTT THiA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ne3oFili; 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 dy4si959992edb.544.2021.04.28.15.26.35; Wed, 28 Apr 2021 15:26:59 -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=k20201202 header.b=ne3oFili; 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 S234674AbhD1W0X (ORCPT + 99 others); Wed, 28 Apr 2021 18:26:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:53382 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235132AbhD1W0U (ORCPT ); Wed, 28 Apr 2021 18:26:20 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 621E461448; Wed, 28 Apr 2021 22:25:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1619648734; bh=bc51XLzoIStqnoVTY2IJKBH2Xkj7e3O8EbUO/HRXZk4=; h=Date:From:To:Cc:Subject:From; b=ne3oFiliuKEqZvqRvRzJ/joF+ploVyTKGqAL1cvEbIbxYKAKLmKORq3y6WYRfvDzt 5ijg+enNweA0yissVsE9cqg8XgrROj6zGRUEs0GF4E7/9lPdHZa/qRo+s20jKdYmE2 /s8EJJlX5oj3MZqGfnr2K5XBMhViog+gflPI9gvJEH+k76G+bZlu1Ieomqp03z5sA3 5qdxfhKj9Cf6v3mZs+lNSggANx+ESdV4x4gcxT8URLV5IHhOhuh5NEBY/RMAb+Q1CW OywMoMY81JxKMj7wGhPvRN2YVoNIakacpnE2Bikk18zvpRKdkMEQICdxSFwBz8ei2d SpIO6+nR5C27Q== Date: Wed, 28 Apr 2021 15:25:34 -0700 From: "Darrick J. Wong" To: linux-kernel@vger.kernel.org, linux-fsdevel Cc: pakki001@umn.edu, gregkh@linuxfoundation.org, arnd@arndb.de Subject: [PATCH] ics932s401: fix broken handling of errors when word reading fails Message-ID: <20210428222534.GJ3122264@magnolia> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Darrick J. Wong In commit b05ae01fdb89, someone tried to make the driver handle i2c read errors by simply zeroing out the register contents, but for some reason left unaltered the code that sets the cached register value the function call return value. The original patch was authored by a member of the Underhanded Mangle-happy Nerds, I'm not terribly surprised. I don't have the hardware anymore so I can't test this, but it seems like a pretty obvious API usage fix to me... Fixes: b05ae01fdb89 ("misc/ics932s401: Add a missing check to i2c_smbus_read_word_data") Signed-off-by: Darrick J. Wong --- drivers/misc/ics932s401.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/ics932s401.c b/drivers/misc/ics932s401.c index 2bdf560ee681..0f9ea75b0b18 100644 --- a/drivers/misc/ics932s401.c +++ b/drivers/misc/ics932s401.c @@ -134,7 +134,7 @@ static struct ics932s401_data *ics932s401_update_device(struct device *dev) for (i = 0; i < NUM_MIRRORED_REGS; i++) { temp = i2c_smbus_read_word_data(client, regs_to_copy[i]); if (temp < 0) - data->regs[regs_to_copy[i]] = 0; + temp = 0; data->regs[regs_to_copy[i]] = temp >> 8; }