aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bridge/br.c')
-rw-r--r--net/bridge/br.c12
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 63err_out3:
64 unregister_netdevice_notifier(&br_device_notifier);
59err_out2: 65err_out2:
60 br_netfilter_fini(); 66 br_netfilter_fini();
61err_out1: 67err_out1: