diff options
Diffstat (limited to 'net/bridge/br.c')
-rw-r--r-- | net/bridge/br.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/net/bridge/br.c b/net/bridge/br.c index 2994387999a8..848b8fa8bedd 100644 --- a/net/bridge/br.c +++ b/net/bridge/br.c | |||
@@ -37,7 +37,9 @@ static int __init br_init(void) | |||
37 | return -EADDRINUSE; | 37 | return -EADDRINUSE; |
38 | } | 38 | } |
39 | 39 | ||
40 | br_fdb_init(); | 40 | err = br_fdb_init(); |
41 | if (err) | ||
42 | goto err_out1; | ||
41 | 43 | ||
42 | err = br_netfilter_init(); | 44 | err = br_netfilter_init(); |
43 | if (err) | 45 | if (err) |
@@ -47,7 +49,10 @@ static int __init br_init(void) | |||
47 | if (err) | 49 | if (err) |
48 | goto err_out2; | 50 | goto err_out2; |
49 | 51 | ||
50 | br_netlink_init(); | 52 | err = br_netlink_init(); |
53 | if (err) | ||
54 | goto err_out3; | ||
55 | |||
51 | brioctl_set(br_ioctl_deviceless_stub); | 56 | brioctl_set(br_ioctl_deviceless_stub); |
52 | br_handle_frame_hook = br_handle_frame; | 57 | br_handle_frame_hook = br_handle_frame; |
53 | 58 | ||
@@ -55,7 +60,8 @@ static int __init br_init(void) | |||
55 | br_fdb_put_hook = br_fdb_put; | 60 | br_fdb_put_hook = br_fdb_put; |
56 | 61 | ||
57 | return 0; | 62 | return 0; |
58 | 63 | err_out3: | |
64 | unregister_netdevice_notifier(&br_device_notifier); | ||
59 | err_out2: | 65 | err_out2: |
60 | br_netfilter_fini(); | 66 | br_netfilter_fini(); |
61 | err_out1: | 67 | err_out1: |