File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -385,20 +385,24 @@ static int dlci_del(struct dlci_add *dlci)
385
385
struct net_device * master , * slave ;
386
386
int err ;
387
387
388
+ rtnl_lock ();
389
+
388
390
/* validate slave device */
389
391
master = __dev_get_by_name (& init_net , dlci -> devname );
390
- if (!master )
391
- return - ENODEV ;
392
+ if (!master ) {
393
+ err = - ENODEV ;
394
+ goto out ;
395
+ }
392
396
393
397
if (netif_running (master )) {
394
- return - EBUSY ;
398
+ err = - EBUSY ;
399
+ goto out ;
395
400
}
396
401
397
402
dlp = netdev_priv (master );
398
403
slave = dlp -> slave ;
399
404
flp = netdev_priv (slave );
400
405
401
- rtnl_lock ();
402
406
err = (* flp -> deassoc )(slave , master );
403
407
if (!err ) {
404
408
list_del (& dlp -> list );
@@ -407,8 +411,8 @@ static int dlci_del(struct dlci_add *dlci)
407
411
408
412
dev_put (slave );
409
413
}
414
+ out :
410
415
rtnl_unlock ();
411
-
412
416
return err ;
413
417
}
414
418
You can’t perform that action at this time.
0 commit comments