This patch fixes a problem when propagated the
failure of ptp_clock_register to open function.

Signed-off-by: Giuseppe Cavallaro <peppe.cavall...@st.com>
Cc: Alexandre TORGUE <alexandre.tor...@st.com>
Cc: Rayagond Kokatanur <rayag...@vayavyalabs.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c |  4 ++--
 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c  | 10 ++++++----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index e838850..6c85b61 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -1709,8 +1709,8 @@ static int stmmac_hw_setup(struct net_device *dev, bool 
init_ptp)
 
        if (init_ptp) {
                ret = stmmac_init_ptp(priv);
-               if (ret && ret != -EOPNOTSUPP)
-                       pr_warn("%s: failed PTP initialisation\n", __func__);
+               if (ret)
+                       netdev_warn(priv->dev, "PTP support cannot init.\n");
        }
 
 #ifdef CONFIG_DEBUG_FS
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
index 6e3b829..289d527 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
@@ -186,10 +186,12 @@ int stmmac_ptp_register(struct stmmac_priv *priv)
                                             priv->device);
        if (IS_ERR(priv->ptp_clock)) {
                priv->ptp_clock = NULL;
-               pr_err("ptp_clock_register() failed on %s\n", priv->dev->name);
-       } else if (priv->ptp_clock)
-               pr_debug("Added PTP HW clock successfully on %s\n",
-                        priv->dev->name);
+               return PTR_ERR(priv->ptp_clock);
+       }
+
+       spin_lock_init(&priv->ptp_lock);
+
+       netdev_dbg(priv->dev, "Added PTP HW clock successfully\n");
 
        return 0;
 }
-- 
2.7.4

Reply via email to