datapath: Fix OVS compat workqueue support.
[openvswitch] / datapath / datapath.c
index 281e86bf34cf1754d8f6b9aeb74c6c563a55e377..754cb32ffc677fd4c54d99f5041d913a845a653e 100644 (file)
@@ -2054,10 +2054,14 @@ static int __init dp_init(void)
        if (err)
                goto error;
 
-       err = ovs_tnl_init();
+       err = ovs_workqueues_init();
        if (err)
                goto error_genl_exec;
 
+       err = ovs_tnl_init();
+       if (err)
+               goto error_wq;
+
        err = ovs_flow_init();
        if (err)
                goto error_tnl_exit;
@@ -2084,6 +2088,8 @@ error_flow_exit:
        ovs_flow_exit();
 error_tnl_exit:
        ovs_tnl_exit();
+error_wq:
+       ovs_workqueues_exit();
 error_genl_exec:
        genl_exec_exit();
 error:
@@ -2098,6 +2104,7 @@ static void dp_cleanup(void)
        ovs_vport_exit();
        ovs_flow_exit();
        ovs_tnl_exit();
+       ovs_workqueues_exit();
        genl_exec_exit();
 }