From 385016f2ed3e013a667852e64b7b377fcdf964cb Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sat, 18 Oct 2003 10:09:56 -0700 Subject: [PATCH] [NET]: Make register_netdevice return correct error when driver init function fails. --- net/core/dev.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c index 7ba82b6a64294..f336cf2e1e847 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2634,9 +2634,14 @@ int register_netdevice(struct net_device *dev) dev->iflink = -1; /* Init, if this function is available */ - ret = -EIO; - if (dev->init && dev->init(dev)) - goto out_err; + if (dev->init) { + ret = dev->init(dev); + if (ret) { + if (ret > 0) + ret = -EIO; + goto out_err; + } + } dev->ifindex = dev_new_index(); if (dev->iflink == -1) -- 2.53.0