If visorbus has registered yet just reschedule and exit. The rest of
the function doesn't need to reschedule so just move it up to the
initial check.

Signed-off-by: David Kershner <david.kersh...@unisys.com>
Signed-off-by: Timothy Sell <timothy.s...@unisys.com>
---
 drivers/staging/unisys/visorbus/visorchipset.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/unisys/visorbus/visorchipset.c 
b/drivers/staging/unisys/visorbus/visorchipset.c
index 5fbda7b..3fd4bea 100644
--- a/drivers/staging/unisys/visorbus/visorchipset.c
+++ b/drivers/staging/unisys/visorbus/visorchipset.c
@@ -1979,8 +1979,11 @@ setup_crash_devices_work_queue(struct work_struct *work)
        u16 local_crash_msg_count;
 
        /* make sure visorbus is registered for controlvm callbacks */
-       if (visorchipset_visorbusregwait && !visorbusregistered)
-               goto cleanup;
+       if (visorchipset_visorbusregwait && !visorbusregistered) {
+               poll_jiffies = POLLJIFFIES_CONTROLVMCHANNEL_SLOW;
+               schedule_delayed_work(&periodic_controlvm_work, poll_jiffies);
+               return;
+       }
 
        POSTCODE_LINUX_2(CRASH_DEV_ENTRY_PC, POSTCODE_SEVERITY_INFO);
 
@@ -2057,13 +2060,6 @@ setup_crash_devices_work_queue(struct work_struct *work)
                return;
        }
        POSTCODE_LINUX_2(CRASH_DEV_EXIT_PC, POSTCODE_SEVERITY_INFO);
-       return;
-
-cleanup:
-
-       poll_jiffies = POLLJIFFIES_CONTROLVMCHANNEL_SLOW;
-
-       schedule_delayed_work(&periodic_controlvm_work, poll_jiffies);
 }
 
 static void
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to