diff options
author | Johan Hovold <jhovold@gmail.com> | 2014-05-08 10:09:23 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-06-30 20:11:51 -0700 |
commit | db2382a8254e7e76c64345dc7b2d48693b1e2067 (patch) | |
tree | 0dc8647656334f3eb6bd14970716782a3f655764 | |
parent | f10e9cf1570759f28ab2591ca3800bc07514287a (diff) | |
download | lwn-db2382a8254e7e76c64345dc7b2d48693b1e2067.tar.gz lwn-db2382a8254e7e76c64345dc7b2d48693b1e2067.zip |
net: cpsw: fix null dereference at probe
commit 6954cc1f238199e971ec905c5cc87120806ac981 upstream.
Fix null-pointer dereference at probe when the mdio platform device is
missing (e.g. when it has been disabled in DT).
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/net/ethernet/ti/cpsw.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c index dcfd20c58a3c..921b9df2faca 100644 --- a/drivers/net/ethernet/ti/cpsw.c +++ b/drivers/net/ethernet/ti/cpsw.c @@ -1884,6 +1884,10 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data, mdio_node = of_find_node_by_phandle(be32_to_cpup(parp)); phyid = be32_to_cpup(parp+1); mdio = of_find_device_by_node(mdio_node); + if (!mdio) { + pr_err("Missing mdio platform device\n"); + return -EINVAL; + } snprintf(slave_data->phy_id, sizeof(slave_data->phy_id), PHY_ID_FMT, mdio->name, phyid); |