diff options
Diffstat (limited to 'net/sched/sch_cbs.c')
| -rw-r--r-- | net/sched/sch_cbs.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/net/sched/sch_cbs.c b/net/sched/sch_cbs.c index e16a3d37d2bc..732e109c3055 100644 --- a/net/sched/sch_cbs.c +++ b/net/sched/sch_cbs.c @@ -549,12 +549,17 @@ static struct notifier_block cbs_device_notifier = {  static int __init cbs_module_init(void)  { -	int err = register_netdevice_notifier(&cbs_device_notifier); +	int err; +	err = register_netdevice_notifier(&cbs_device_notifier);  	if (err)  		return err; -	return register_qdisc(&cbs_qdisc_ops); +	err = register_qdisc(&cbs_qdisc_ops); +	if (err) +		unregister_netdevice_notifier(&cbs_device_notifier); + +	return err;  }  static void __exit cbs_module_exit(void) | 
