]> git.hungrycats.org Git - linux/commitdiff
staging: unisys: correctly handle return value from queue_delayed_work()
authorBenjamin Romer <benjamin.romer@unisys.com>
Thu, 1 Oct 2015 15:52:30 +0000 (11:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 May 2017 05:44:12 +0000 (07:44 +0200)
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 <dcb314@hotmail.com>.

[arnd: the fix is from 4.4 but needed some minor fixup to adapt
 to context changes]

Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/staging/unisys/visorutil/periodic_work.c

index 3dd1c04d0e14f214386bd7c014e340145f9dfe00..95802d0e9cc689b6a22edd4a65975ebe73b0d9df 100644 (file)
@@ -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;