net: Fix static checker warnings
Here are the smatch warning messages:
drivers/net/xilinx_axi_emac.c:324 axiemac_phy_init()
error: 'phydev' dereferencing possible ERR_PTR()
drivers/net/zynq_gem.c:340 zynq_phy_init()
error: 'priv->phydev' dereferencing possible ERR_PTR()
Fix by adding error checking before dereferencing the pointer.
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20220929045605.23964-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index d48e342..5f5bc65 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -11,6 +11,7 @@
#include <cpu_func.h>
#include <display_options.h>
#include <dm.h>
+#include <dm/device_compat.h>
#include <log.h>
#include <net.h>
#include <malloc.h>
@@ -317,6 +318,10 @@
/* Interface - look at tsec */
phydev = phy_connect(priv->bus, priv->phyaddr, dev, priv->interface);
+ if (IS_ERR_OR_NULL(phydev)) {
+ dev_err(dev, "phy_connect() failed\n");
+ return -ENODEV;
+ }
phydev->supported &= supported;
phydev->advertising = phydev->supported;
diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
index 61a6c83..3f4357e 100644
--- a/drivers/net/zynq_gem.c
+++ b/drivers/net/zynq_gem.c
@@ -328,7 +328,7 @@
priv->phydev = phy_connect(priv->bus, priv->phyaddr, dev,
priv->interface);
- if (!priv->phydev)
+ if (IS_ERR_OR_NULL(priv->phydev))
return -ENODEV;
if (priv->max_speed) {