proto-shell: remove the device user before issuing the protocol down event
[project/netifd.git] / proto-shell.c
index 7eeff28..41031c3 100644 (file)
@@ -138,9 +138,11 @@ proto_shell_teardown_cb(struct uloop_process *p, int ret)
        struct proto_shell_state *state;
 
        state = container_of(p, struct proto_shell_state, teardown_task);
-       state->proto.proto_event(&state->proto, IFPEV_DOWN);
+
        if (state->l3_dev.dev)
                device_remove_user(&state->l3_dev);
+
+       state->proto.proto_event(&state->proto, IFPEV_DOWN);
 }
 
 static void