diff options
| -rw-r--r-- | net/netlink/genetlink.c | 8 | 
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) { | 
