3.18-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Benjamin Romer <benjamin.ro...@unisys.com>

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 <dcb...@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.ro...@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 drivers/staging/unisys/visorutil/periodic_work.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- 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(stru
                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 pe
                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;


Reply via email to