diff options
Diffstat (limited to 'net/bridge/br_notify.c')
-rw-r--r-- | net/bridge/br_notify.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/bridge/br_notify.c b/net/bridge/br_notify.c index 763a3ec292e5..717e1fd6133c 100644 --- a/net/bridge/br_notify.c +++ b/net/bridge/br_notify.c | |||
@@ -34,6 +34,7 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v | |||
34 | struct net_device *dev = ptr; | 34 | struct net_device *dev = ptr; |
35 | struct net_bridge_port *p = dev->br_port; | 35 | struct net_bridge_port *p = dev->br_port; |
36 | struct net_bridge *br; | 36 | struct net_bridge *br; |
37 | int err; | ||
37 | 38 | ||
38 | /* not a port of a bridge */ | 39 | /* not a port of a bridge */ |
39 | if (p == NULL) | 40 | if (p == NULL) |
@@ -82,6 +83,16 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v | |||
82 | case NETDEV_UNREGISTER: | 83 | case NETDEV_UNREGISTER: |
83 | br_del_if(br, dev); | 84 | br_del_if(br, dev); |
84 | break; | 85 | break; |
86 | |||
87 | case NETDEV_CHANGENAME: | ||
88 | err = br_sysfs_renameif(p); | ||
89 | if (err) | ||
90 | return notifier_from_errno(err); | ||
91 | break; | ||
92 | |||
93 | case NETDEV_PRE_TYPE_CHANGE: | ||
94 | /* Forbid underlaying device to change its type. */ | ||
95 | return NOTIFY_BAD; | ||
85 | } | 96 | } |
86 | 97 | ||
87 | /* Events that may cause spanning tree to refresh */ | 98 | /* Events that may cause spanning tree to refresh */ |