On 4/3/2020 4:28 AM, Chuanhong Guo wrote:
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 gch981213@gmail.com Cc: stable@vger.kernel.org
Reviewed-by: Florian Fainelli f.fainelli@gmail.com
mt7530 is available as a standalone chip and we should not make it tightly coupled with a specific type of ethernet dt binding in the first place. A proper fix is to replace this port detection logic with a dt property under mt7530 node, but that's too much for linux-stable.
Agree, one would also wonder why the driver needs to parse parts of the Device Tree which should be done by the core DSA layer.