[PATCH] Phy: Check NULL bus case and undetected phy via of

Clément Leger cleger at kalray.eu
Tue Sep 5 01:56:24 PDT 2017


>From 5e87dc2c24051c2cd2985e513c5a825d51d9bb00 Mon Sep 17 00:00:00 2001
From: Clement Leger <clement.leger at kalray.eu>
Date: Tue, 5 Sep 2017 10:37:23 +0200
Subject: [PATCH] Phy: Check NULL bus case and undetected phy via of

phy_device_connect can be called with NULL miibus for automatic match
with the phy described in the device tree. In the case where the phy
was not detected for some unknown reason, the next calls will be done
with a NULL bus. This will lead to undefined behavior and more probably
crashes.
---
 drivers/net/phy/phy.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 7132516..e8f7726 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -405,6 +405,11 @@ int phy_device_connect(struct eth_device *edev, struct mii_bus *bus, int addr,
 		goto out;
 	}
 
+	if (!bus) {
+		ret = -ENODEV;
+		goto out;
+	}
+
 	if (addr >= 0) {
 		phy = mdiobus_scan(bus, addr);
 		if (IS_ERR(phy)) {
-- 
1.8.3.1



More information about the barebox mailing list