aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/netlink/genetlink.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index 44ff3f3810fa..ddfdb7d2e02b 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -374,11 +374,6 @@ int genl_register_family(struct genl_family *family)
374 goto errout_locked; 374 goto errout_locked;
375 } 375 }
376 376
377 if (genl_family_find_byid(family->id)) {
378 err = -EEXIST;
379 goto errout_locked;
380 }
381
382 if (family->id == GENL_ID_GENERATE) { 377 if (family->id == GENL_ID_GENERATE) {
383 u16 newid = genl_generate_id(); 378 u16 newid = genl_generate_id();
384 379
@@ -388,6 +383,9 @@ int genl_register_family(struct genl_family *family)
388 } 383 }
389 384
390 family->id = newid; 385 family->id = newid;
386 } else if (genl_family_find_byid(family->id)) {
387 err = -EEXIST;
388 goto errout_locked;
391 } 389 }
392 390
393 if (family->maxattr) { 391 if (family->maxattr) {