bridge: fix hotplug device removal
[project/netifd.git] / bridge.c
index f2c73b0..dbfd470 100644 (file)
--- a/bridge.c
+++ b/bridge.c
@@ -156,12 +156,12 @@ bridge_member_cb(struct device_user *dev, enum device_event ev)
 
                break;
        case DEV_EVENT_REMOVE:
-               if (!bm->present)
+               if (dev->hotplug) {
+                       vlist_delete(&bst->members, &bm->node);
                        return;
+               }
 
-               if (dev->hotplug)
-                       vlist_delete(&bst->members, &bm->node);
-               else
+               if (bm->present)
                        bridge_remove_member(bm);
 
                break;