We always have to update the value of ret, otherwise the error value may be the previous one. And ptp_clock_register() never return NULL when PTP_1588_CLOCK enable, so we use IS_ERR here.
Signed-off-by: Wang Qing <wangq...@vivo.com> --- drivers/net/ethernet/ti/am65-cpts.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/ti/am65-cpts.c b/drivers/net/ethernet/ti/am65-cpts.c index 75056c1..ec8e56d --- a/drivers/net/ethernet/ti/am65-cpts.c +++ b/drivers/net/ethernet/ti/am65-cpts.c @@ -998,11 +998,10 @@ struct am65_cpts *am65_cpts_create(struct device *dev, void __iomem *regs, am65_cpts_settime(cpts, ktime_to_ns(ktime_get_real())); cpts->ptp_clock = ptp_clock_register(&cpts->ptp_info, cpts->dev); - if (IS_ERR_OR_NULL(cpts->ptp_clock)) { + if (IS_ERR(cpts->ptp_clock)) { dev_err(dev, "Failed to register ptp clk %ld\n", PTR_ERR(cpts->ptp_clock)); - if (!cpts->ptp_clock) - ret = -ENODEV; + ret = PTR_ERR(cpts->ptp_clock); goto refclk_disable; } cpts->phc_index = ptp_clock_index(cpts->ptp_clock); -- 2.7.4