From patchwork Fri May 5 11:57:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 98626 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp81131qge; Fri, 5 May 2017 04:58:08 -0700 (PDT) X-Received: by 10.98.205.9 with SMTP id o9mr16175458pfg.171.1493985488669; Fri, 05 May 2017 04:58:08 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m25si5435892pli.193.2017.05.05.04.58.08; Fri, 05 May 2017 04:58:08 -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 S1753188AbdEEL54 (ORCPT + 6 others); Fri, 5 May 2017 07:57:56 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:60258 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752720AbdEEL5x (ORCPT ); Fri, 5 May 2017 07:57:53 -0400 Received: from wuerfel.lan ([78.42.17.5]) by mrelayeu.kundenserver.de (mreue102 [212.227.15.145]) with ESMTPA (Nemesis) id 0MAvQq-1dEHMJ1w16-009voP; Fri, 05 May 2017 13:57:35 +0200 From: Arnd Bergmann To: gregkh@linuxfoundation.org Cc: stable@vger.kernel.org, Benjamin Romer , Arnd Bergmann Subject: [PATCH 8/9] [3.18-stable] staging: unisys: correctly handle return value from queue_delayed_work() Date: Fri, 5 May 2017 13:57:24 +0200 Message-Id: <20170505115725.1424772-9-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170505115725.1424772-1-arnd@arndb.de> References: <20170505115725.1424772-1-arnd@arndb.de> X-Provags-ID: V03:K0:zR6me0IjtkoJg89qaUH8deG33Z7o2FRmkhi5+owLKmmC8bYL+QY dm/pZrT+KqyOc7J3lonSTCH+XhYdWFzYBxQ/CQbV/rLDQ9nvEmzHD2xQdhJSp/6J/rpIQLI nDj1if0JV7e83EqUGD2Z5+8i4BAz+xWwVhxf/MU8t6l13Oow9WtHyvcrfvyzPyhSeDrrywe lDNtWC2LnQjCeHnlWQklg== X-UI-Out-Filterresults: notjunk:1; V01:K0:2PVAuJ4XFHA=:2x4zbA7iPduTJJIv8vV6pp mHB3C7ZDsdQ3tLngdLfLzEQO5UJArh8K1en/FMax3VLIcG0uN4jLSVeYrZnTF9ihlqRCS7v2H bIWKBVEN8BDWcIkFckOnBUCkXi+S+oyxHfOXdvgTxWH2ucv7ZNahd148bEwAR9V4hkP9fTx8L d/Lmn8Y1SYkeuktwEcG/ug0fneGechtCSpFPsQByTzyU9s2o907mqNgZHJk17JyV2V5yEoDO8 kusNIjc/3ZNIz+ZdC66TvTQrAOUZ6GxX+VkDMipyD75gCto71/HSpB7JAtpgFjwK0WBhvQ9gt 9LGTqTIjf8DQBKtXl8GvxFHEoYDH66pC+aQ/pl92UBFIPBmY5rcxJNsDA7tULx4tgAB76hLu9 5qceh1w1Or00EM5pQ0gSLPUM1JjMJRNal9axHRqBGQAdtcZh7Xz9ZJka4PnVougW9OrM3MfaP yf/o3RPG97Dt/e1TDItxQXRjd00kH7sXfYDiEqIh5YekWKRVmZZK6B4SJw8zkqArLfOAMoCu4 GfrfyFuohIxsIr0eG4+TNsd6ru9qJADZGppsUz/Cz/eWl6BQasaqrJj9vnKfAZUwBRR0uQcFZ znAgXV4kYJNjDxECn+rjMutMhDLcI+TMS5V5vhaBgFX8/yDZWNONqKFA+cTANNV8CI8g6CCqJ xBDPqYnXst+NFO9qt2mqsMlqOaSwppBGOtgn//ijdQKWTCUAda5UfKwQ5nryzi1758TM= Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Benjamin Romer Commit f84bd6267d623b49f196d54ba9edc41ff1c4d5e3 upstream Properly handle the return value from queue_delayed_work() - it's a bool, not an int, so using a less than comparison isn't appropriate. This mistake was found by David Binderman . [arnd: the fix is from 4.4 but needed some minor fixup to adapt to context changes] Signed-off-by: Benjamin Romer Signed-off-by: Greg Kroah-Hartman Signed-off-by: Arnd Bergmann --- drivers/staging/unisys/visorutil/periodic_work.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -- 2.9.0 diff --git a/drivers/staging/unisys/visorutil/periodic_work.c b/drivers/staging/unisys/visorutil/periodic_work.c index 3dd1c04d0e14..95802d0e9cc6 100644 --- a/drivers/staging/unisys/visorutil/periodic_work.c +++ b/drivers/staging/unisys/visorutil/periodic_work.c @@ -98,8 +98,8 @@ BOOL visor_periodic_work_nextperiod(struct periodic_work *pw) pw->want_to_stop = FALSE; rc = TRUE; /* yes, TRUE; see visor_periodic_work_stop() */ goto unlock; - } else if (queue_delayed_work(pw->workqueue, &pw->work, - pw->jiffy_interval) < 0) { + } else if (!queue_delayed_work(pw->workqueue, &pw->work, + pw->jiffy_interval)) { ERRDEV(pw->devnam, "queue_delayed_work failed!"); pw->is_scheduled = FALSE; rc = FALSE; @@ -134,8 +134,8 @@ BOOL visor_periodic_work_start(struct periodic_work *pw) goto unlock; } INIT_DELAYED_WORK(&pw->work, &periodic_work_func); - if (queue_delayed_work(pw->workqueue, &pw->work, - pw->jiffy_interval) < 0) { + if (!queue_delayed_work(pw->workqueue, &pw->work, + pw->jiffy_interval)) { ERRDEV(pw->devnam, "%s queue_delayed_work failed!", __func__); rc = FALSE; goto unlock;