Currently the soft reset (if defined) is done only if the driver also
implements the config_init callback. I think this dependency is a
mistake, so let's remove it.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        /* Deassert the reset signal */
        phy_device_reset(phydev, 0);
 
-       if (!phydev->drv || !phydev->drv->config_init)
+       if (!phydev->drv)
                return 0;
 
        if (phydev->drv->soft_reset)
        if (ret < 0)
                return ret;
 
-       return phydev->drv->config_init(phydev);
+       if (phydev->drv->config_init)
+               ret = phydev->drv->config_init(phydev);
+
+       return ret;
 }
 EXPORT_SYMBOL(phy_init_hw);