|
@@ -1871,6 +1871,10 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
|
|
mdio_node = of_find_node_by_phandle(be32_to_cpup(parp));
|
|
mdio_node = of_find_node_by_phandle(be32_to_cpup(parp));
|
|
phyid = be32_to_cpup(parp+1);
|
|
phyid = be32_to_cpup(parp+1);
|
|
mdio = of_find_device_by_node(mdio_node);
|
|
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),
|
|
snprintf(slave_data->phy_id, sizeof(slave_data->phy_id),
|
|
PHY_ID_FMT, mdio->name, phyid);
|
|
PHY_ID_FMT, mdio->name, phyid);
|
|
|
|
|