diff options
-rw-r--r-- | drivers/net/wan/dlci.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wan/dlci.c b/drivers/net/wan/dlci.c index 1f6e0538c716..6a8a382c5f4c 100644 --- a/drivers/net/wan/dlci.c +++ b/drivers/net/wan/dlci.c | |||
@@ -384,6 +384,7 @@ static int dlci_del(struct dlci_add *dlci) | |||
384 | struct frad_local *flp; | 384 | struct frad_local *flp; |
385 | struct net_device *master, *slave; | 385 | struct net_device *master, *slave; |
386 | int err; | 386 | int err; |
387 | bool found = false; | ||
387 | 388 | ||
388 | rtnl_lock(); | 389 | rtnl_lock(); |
389 | 390 | ||
@@ -394,6 +395,17 @@ static int dlci_del(struct dlci_add *dlci) | |||
394 | goto out; | 395 | goto out; |
395 | } | 396 | } |
396 | 397 | ||
398 | list_for_each_entry(dlp, &dlci_devs, list) { | ||
399 | if (dlp->master == master) { | ||
400 | found = true; | ||
401 | break; | ||
402 | } | ||
403 | } | ||
404 | if (!found) { | ||
405 | err = -ENODEV; | ||
406 | goto out; | ||
407 | } | ||
408 | |||
397 | if (netif_running(master)) { | 409 | if (netif_running(master)) { |
398 | err = -EBUSY; | 410 | err = -EBUSY; |
399 | goto out; | 411 | goto out; |