Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp2363020pxb; Sun, 17 Apr 2022 20:16:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymG3fXglDBmn7RE8maYk/XKv3iDRW8hZLtFu1vw12YAYvL7I/5J6FMRg7iM3Vs7EJQLCsF X-Received: by 2002:a17:903:285:b0:158:fee3:990f with SMTP id j5-20020a170903028500b00158fee3990fmr2844982plr.81.1650251815047; Sun, 17 Apr 2022 20:16:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650251815; cv=none; d=google.com; s=arc-20160816; b=Mw0+tifTgSoERZ7mCGeaF5MGJOuD/+R25Fb2PohI6rvC7sJaN/dLkbtUjznaEEYKUc JLiZv9SnCKHXCg1briQVjMbmGaOEsJe1Z2unoa/IRYY2EW9sF73PkB6nouIO3SwjQhLL mUueN766459qqK3ju1cyfN07fmK6CUQLf0S43UsW6sjV5GwgcJAJ9zrpRDpsxGPmDI6F INdobGJw0nu84o1rJExXyeTVSPGEpMoZ3iNZzaHQ5GWBO73F72isoWMCRztAiQ+cTkm6 YMrFS85U3ujyNQyChva73bUyawt3gE6orhNwLU1I8DCHbgVKwCcXN/UsrzbleGbcjKEP dxfA== 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=O4to6/rCztDbYlDF7MKiOgbImf8FeFLKqSVy2ilIhM4=; b=uUtWIIlrBVGYrN8FZ2enBIdOxurzwfsu50l7cCKe2blI0QaRVs5Dhk1VHhxjSqcNGt eK09ObaUpOeQhPVk8KRI1hbWFxhImdcH1UEjJTOr0xlRhKDmStfxKeGhNdmxHuVWGDnT yqIN/2tzSSbbQSODPmyJ9GXu7yI6DhmQ91BOfYITpyNOGfQ5glJSD3j8Fabf2J1pNJ6v jKNsxgPM9IEo8B9X8kB5PyKmCZ1LfWTJCyRLSgEDr2h2pq3WNNnzpbM2MvjGLZtMBPG3 7Dlh0o5V0PSGWAwGPl/YkHpQHyryq/Hts3LpQoEp79FkzHOU7ev8NTDuI9gfuNMdXnpp ZY2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=I9lICP1Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a38-20020a056a001d2600b0050a502dd307si5666504pfx.127.2022.04.17.20.16.39; Sun, 17 Apr 2022 20:16:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=I9lICP1Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S232118AbiDPNxp (ORCPT + 99 others); Sat, 16 Apr 2022 09:53:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230055AbiDPNxo (ORCPT ); Sat, 16 Apr 2022 09:53:44 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5FBFE33881; Sat, 16 Apr 2022 06:51:12 -0700 (PDT) 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 1CB9BB8241F; Sat, 16 Apr 2022 13:51:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AC8E7C385A1; Sat, 16 Apr 2022 13:51:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1650117069; bh=d8QKVxdG4FlCyd4OG5tSxmy/2lyoeJsbEk6g26b9g0s=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=I9lICP1Y+XVpygKDt1AUNygvxAvyUKQCp0ybg/cxx1+PZUMzrehupBWrTUTvTWtzl rbgGLkefFv4FCFBNi5VOKqzqPBux/BSiJHUZOud+GEi/rAvSHFLBvZ/aI7FergO5s6 yTdCf1N3sSaOmv7bgRWpTss3Ys8McXk3vj0rJZCm5u/EufcW3ThKtrnZixO2W7RCqF YKfmLgHAa0YkladYYgLFzXk+lmMCA7kA7UZNgvsnNuE9A8oeT8p7MkVOEXqTfatZgY Btd7e2+HNJk7qZ/yRlglX5YAzJO7yVsJAcPaTEvwfgh7iECvq+Putvt0AvoOaS9lRs BIpSq3GzCe2yg== Date: Sat, 16 Apr 2022 14:59:06 +0100 From: Jonathan Cameron To: Miaoqian Lin Cc: Song Qiang , Lars-Peter Clausen , Ivan Drobyshevskyi , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] iio: proximity: vl53l0x: Fix return value check of wait_for_completion_timeout Message-ID: <20220416145906.1162767c@jic23-huawei> In-Reply-To: <20220412064210.10734-1-linmq006@gmail.com> References: <20220412064210.10734-1-linmq006@gmail.com> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; 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=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 Tue, 12 Apr 2022 06:42:09 +0000 Miaoqian Lin wrote: > wait_for_completion_timeout() returns unsigned long not int. > It returns 0 if timed out, and positive if completed. > The check for <= 0 is ambiguous and should be == 0 here > indicating timeout which is the only error case. > > Fixes: 3cef2e31b54b ("iio: proximity: vl53l0x: Add IRQ support") > Signed-off-by: Miaoqian Lin Hi, Applied to the togreg branch of iio.git ready for the next merge window. I'm not rushing this in because it's removing pointless and misleading code rather than fixing a bug as such. Thanks, Jonathan > --- > Changes in v2: > - add driver name in patch subject. > --- > drivers/iio/proximity/vl53l0x-i2c.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl53l0x-i2c.c > index 661a79ea200d..a284b20529fb 100644 > --- a/drivers/iio/proximity/vl53l0x-i2c.c > +++ b/drivers/iio/proximity/vl53l0x-i2c.c > @@ -104,6 +104,7 @@ static int vl53l0x_read_proximity(struct vl53l0x_data *data, > u16 tries = 20; > u8 buffer[12]; > int ret; > + unsigned long time_left; > > ret = i2c_smbus_write_byte_data(client, VL_REG_SYSRANGE_START, 1); > if (ret < 0) > @@ -112,10 +113,8 @@ static int vl53l0x_read_proximity(struct vl53l0x_data *data, > if (data->client->irq) { > reinit_completion(&data->completion); > > - ret = wait_for_completion_timeout(&data->completion, HZ/10); > - if (ret < 0) > - return ret; > - else if (ret == 0) > + time_left = wait_for_completion_timeout(&data->completion, HZ/10); > + if (time_left == 0) > return -ETIMEDOUT; > > vl53l0x_clear_irq(data);