diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 4547f7c3b1b460b092f8213a59d6e8c273cede3d..45b2bd7a65fe9fdedd97c1fe6caf93d74e9744d9 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -1962,6 +1962,10 @@ ar8216_probe(struct phy_device *pdev)
 	struct ar8216_priv *priv;
 	int ret;
 
+	/* skip PHYs at unused adresses */
+	if (pdev->addr != 0 && pdev->addr != 4)
+		return -ENODEV;
+
 	priv = kzalloc(sizeof(struct ar8216_priv), GFP_KERNEL);
 	if (priv == NULL)
 		return -ENOMEM;