# HG changeset patch
# User Florian Pose <fp@igh-essen.com>
# Date 1162822521 0
# Node ID d45c3111c0af57f42a2ed36770369a7d1e31d0c1
# Parent  649502e50901b2565fae3d75980a1ab089b4ae5d
Fixed workqueue cancelling.

diff -r 649502e50901 -r d45c3111c0af master/master.c
--- a/master/master.c	Mon Nov 06 09:51:42 2006 +0000
+++ b/master/master.c	Mon Nov 06 14:15:21 2006 +0000
@@ -344,7 +344,7 @@
     ec_master_eoe_stop(master);
 
     master->mode = EC_MASTER_MODE_ORPHANED;
-    if (!cancel_delayed_work(&master->idle_work)) {
+    while (!cancel_delayed_work(&master->idle_work)) {
         flush_workqueue(master->workqueue);
     }
 
@@ -362,7 +362,7 @@
     ec_datagram_t *datagram = &master->fsm.datagram;
 
     master->mode = EC_MASTER_MODE_OPERATION;
-    if (!cancel_delayed_work(&master->idle_work)) {
+    while (!cancel_delayed_work(&master->idle_work)) {
         flush_workqueue(master->workqueue);
     }