# HG changeset patch # User Florian Pose # 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); }