Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp288397pxb; Tue, 12 Apr 2022 01:53:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwv4W16QTnSNWCjMY+xEWhKVlntNp1eyHFz6j5b1NHiZWcOSs9wbq+UYwjtlL5YZPB/Axvw X-Received: by 2002:a17:90a:380f:b0:1bd:4aa6:651 with SMTP id w15-20020a17090a380f00b001bd4aa60651mr3782544pjb.83.1649753610746; Tue, 12 Apr 2022 01:53:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649753610; cv=none; d=google.com; s=arc-20160816; b=CoBz4NC+QY8vG5Mr0vBVndNHajtDhCXEXrnldJ2SvPurgEY2tsYoDdfh3ek1IKgo75 R5NMNDV1LtyysOSHEbjVxvL4Q5ss1x1pjb7RLdOSuvVMwFl89Bzkzly7U7vu4ayhpWzA UxC47qB0EcXdXH9oZw7GBbIEhTCc+Wj9S9E2MC4G+iXloubnP4WhpHugCvkcEzPjYk9/ /8Vi4F08buCDqjf9di20uomouMQ+CELsTdeAffWwrKSSb5ExGEYAZiEHDJYj379hQ7ZI QBOrXFak8llQvAHs5gYGBZwdB40+YyOCieA0hfjqKrbK/aKWWI0am/d6DiM9ny1dHijx Aerg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:to:from:dkim-signature; bh=MUZhH5+lYnSoRrE3JIvwECmXrCGL/rgXBwstSStdnjs=; b=jbOScnfQ6jAWnVYDBeaz5xyFDBTVJlZ6CYWfdTmTXBcIFIEcmVeQtzHtyoNgW4RxoV h3EjR/3pRroGuDvpqpxqXsz4gKfHJzy+l5d0oVlucGMzKY8Jp6hxsoRZvxzq37Qz3V+Z aL0j54e+hhtsrBpi4R53mOYZmpKVIUlEELqkHvWHQ4iyjlnuNvO+KVCLP7MkKMj9MqIs HIuV7jPlrEifK+g/2VNoFtlyuiY1qFu5IcqehwJRdQSvofUFv+g5we9VLXVyKQO7+Yoy 9C7m5UcQLmNhtBsrivHi4I50kvJBJnoOtZyKr3guM8++aR8kD2YW2MzmhOI0mB+dZp// DG0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=cjkwgxHr; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e18-20020a056a00163200b004fa3a8dffd6si10011478pfc.141.2022.04.12.01.53.10; Tue, 12 Apr 2022 01:53:30 -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=@gmail.com header.s=20210112 header.b=cjkwgxHr; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245057AbiDKLAx (ORCPT + 99 others); Mon, 11 Apr 2022 07:00:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345830AbiDKLAv (ORCPT ); Mon, 11 Apr 2022 07:00:51 -0400 Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2757A443F8; Mon, 11 Apr 2022 03:58:35 -0700 (PDT) Received: by mail-pl1-x62e.google.com with SMTP id t12so1156050pll.7; Mon, 11 Apr 2022 03:58:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id; bh=MUZhH5+lYnSoRrE3JIvwECmXrCGL/rgXBwstSStdnjs=; b=cjkwgxHrumAGnfdqLql3/kNBpZ4A4FtzBxNUskw4YzNjL8GDB4FF9Wjza2z28ylDRQ pK7Wz7r1m6nO7yZ5D4ixHxBWB6HaSeZX4SznQQjMQgLwgEEHkKrkWlSMHygttmAruHvg gF84XDiItWwtPv/ugaIncpZa/L8Hdn116YQps3gKiiVkrTLSQkyxfK9bp38UrC1wT2ZV inviFkmNUhsLSCy+oD555uJ7wDhHJDAWA9H2c9fI3gGp8ETL1yH5ekiaSaM93lL52eMW +0dOQUFDSRDnlHS+7cBDase4Ln/3ZIPq1YHB4S6KFh3slIvAiFG6Bp4EL2W/AeTIp48q mr3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id; bh=MUZhH5+lYnSoRrE3JIvwECmXrCGL/rgXBwstSStdnjs=; b=MUHxzIk3SGBI1CLZLL5IGmic9y+htJHXfwc9Va3285BohWCT32JUZb7tFCQD2U4ZyJ KuWtS7WDwGlP97eClByc1W1+7W/Mxpbjtm0AJd4+e2vx/JlReYeoN/Ykh0yfZcPpRya3 ECv3VM587dJuWvoOsiiBAhLcTlw1WDbRG1ofGeqSj9G0xBaVssSLb9ADHVJG9qM65Yv/ 5vZ124B68oMocVqcMXWuQhzh3TQNFBBpjoqg94VhAAVigk4OrRqCA4sE7oR5sLs4xYFJ kW7/D6CkpqjjDLWkbrCterHlmRDrIxoN5WveEyL+65FgbWSICm6sP1m5rtmzowemiNlt S5lQ== X-Gm-Message-State: AOAM533x5/fE5B1WysY1HdvfZR4MBuOJMDxRA3MEbnjDS0mrXza9Q6jF qBap02MjPZ4PwwoTySK25kymPeveJVPFSJOz X-Received: by 2002:a17:902:8ec8:b0:154:5ecb:eb05 with SMTP id x8-20020a1709028ec800b001545ecbeb05mr31594185plo.56.1649674714603; Mon, 11 Apr 2022 03:58:34 -0700 (PDT) Received: from localhost.localdomain ([159.226.95.43]) by smtp.googlemail.com with ESMTPSA id k27-20020aa79d1b000000b005059ad6b943sm7996386pfp.166.2022.04.11.03.58.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Apr 2022 03:58:34 -0700 (PDT) From: Miaoqian Lin To: Dmitry Torokhov , Miaoqian Lin , Lucas Stach , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] Input: exc3000 - Fix return value check of wait_for_completion_timeout Date: Mon, 11 Apr 2022 10:58:23 +0000 Message-Id: <20220411105828.22140-1-linmq006@gmail.com> X-Mailer: git-send-email 2.17.1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,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 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: 102feb1ddfd0 ("Input: exc3000 - factor out vendor data request") Signed-off-by: Miaoqian Lin --- drivers/input/touchscreen/exc3000.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/input/touchscreen/exc3000.c b/drivers/input/touchscreen/exc3000.c index cbe0dd412912..b290a0bb26cf 100644 --- a/drivers/input/touchscreen/exc3000.c +++ b/drivers/input/touchscreen/exc3000.c @@ -220,6 +220,7 @@ static int exc3000_vendor_data_request(struct exc3000_data *data, u8 *request, { u8 buf[EXC3000_LEN_VENDOR_REQUEST] = { 0x67, 0x00, 0x42, 0x00, 0x03 }; int ret; + unsigned long time_left; mutex_lock(&data->query_lock); @@ -233,9 +234,9 @@ static int exc3000_vendor_data_request(struct exc3000_data *data, u8 *request, goto out_unlock; if (response) { - ret = wait_for_completion_timeout(&data->wait_event, + time_left = wait_for_completion_timeout(&data->wait_event, timeout * HZ); - if (ret <= 0) { + if (time_left == 0) { ret = -ETIMEDOUT; goto out_unlock; } -- 2.17.1