From: Chuanhong Guo Date: Fri, 3 Apr 2020 11:28:24 +0000 (+0800) Subject: net: dsa: mt7530: fix null pointer dereferencing in port5 setup X-Git-Tag: v5.7-rc1~67^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0452800f6db4ed0a42ffb15867c0acfd68829f6a;p=thirdparty%2Flinux.git net: dsa: mt7530: fix null pointer dereferencing in port5 setup The 2nd gmac of mediatek soc ethernet may not be connected to a PHY and a phy-handle isn't always available. Unfortunately, mt7530 dsa driver assumes that the 2nd gmac is always connected to switch port 5 and setup mt7530 according to phy address of 2nd gmac node, causing null pointer dereferencing when phy-handle isn't defined in dts. This commit fix this setup code by checking return value of of_parse_phandle before using it. Fixes: 38f790a80560 ("net: dsa: mt7530: Add support for port 5") Signed-off-by: Chuanhong Guo Reviewed-by: Vivien Didelot Reviewed-by: Florian Fainelli Tested-by: René van Dorst Signed-off-by: David S. Miller --- diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index ef57552db260f..2d0d91db0ddb4 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -1403,6 +1403,9 @@ mt7530_setup(struct dsa_switch *ds) continue; phy_node = of_parse_phandle(mac_np, "phy-handle", 0); + if (!phy_node) + continue; + if (phy_node->parent == priv->dev->of_node->parent) { ret = of_get_phy_mode(mac_np, &interface); if (ret && ret != -ENODEV)