net: phy: micrel: Fix warn: passing zero to PTR_ERR
authorDivya Koppera <Divya.Koppera@microchip.com>
Fri, 6 Jan 2023 08:29:05 +0000 (13:59 +0530)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Jan 2023 07:21:42 +0000 (07:21 +0000)
Handle the NULL pointer case

Fixes New smatch warnings:
drivers/net/phy/micrel.c:2613 lan8814_ptp_probe_once() warn: passing zero to 'PTR_ERR'

vim +/PTR_ERR +2613 drivers/net/phy/micrel.c
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Signed-off-by: Divya Koppera <Divya.Koppera@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/micrel.c

index 6c41550..d5b80c3 100644 (file)
@@ -3008,10 +3008,6 @@ static int lan8814_ptp_probe_once(struct phy_device *phydev)
 {
        struct lan8814_shared_priv *shared = phydev->shared->priv;
 
-       if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK) ||
-           !IS_ENABLED(CONFIG_NETWORK_PHY_TIMESTAMPING))
-               return 0;
-
        /* Initialise shared lock for clock*/
        mutex_init(&shared->shared_lock);
 
@@ -3031,12 +3027,16 @@ static int lan8814_ptp_probe_once(struct phy_device *phydev)
 
        shared->ptp_clock = ptp_clock_register(&shared->ptp_clock_info,
                                               &phydev->mdio.dev);
-       if (IS_ERR_OR_NULL(shared->ptp_clock)) {
+       if (IS_ERR(shared->ptp_clock)) {
                phydev_err(phydev, "ptp_clock_register failed %lu\n",
                           PTR_ERR(shared->ptp_clock));
                return -EINVAL;
        }
 
+       /* Check if PHC support is missing at the configuration level */
+       if (!shared->ptp_clock)
+               return 0;
+
        phydev_dbg(phydev, "successfully registered ptp clock\n");
 
        shared->phydev = phydev;