The bug was reported by Joe Stringer.

Signed-off-by: Pravin B Shelar <pshe...@nicira.com>
---
 datapath/linux/compat/stt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/datapath/linux/compat/stt.c b/datapath/linux/compat/stt.c
index 1e2c26a..218177e 100644
--- a/datapath/linux/compat/stt.c
+++ b/datapath/linux/compat/stt.c
@@ -1557,10 +1557,12 @@ static int stt_start(struct net *net)
        err = nf_register_hook(&nf_hook_ops);
 #endif
        if (err)
-               goto free_percpu;
+               goto dec_n_tunnel;
        sn->n_tunnels++;
        return 0;
 
+dec_n_tunnel:
+       n_tunnels--;
 free_percpu:
        for_each_possible_cpu(i) {
                struct stt_percpu *stt_percpu = per_cpu_ptr(stt_percpu_data, i);
-- 
1.8.3.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to