Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 129dd967 authored by David S. Miller's avatar David S. Miller
Browse files

ucc_geth: Fix use-after-of_node_put() in ucc_geth_probe().



We can't put 'mdio' until after we've used it in the
fsl_pq_mdio_bus_name() call.

Also fix error return values.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ee76db5e
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -3648,15 +3648,16 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
		mdio = of_get_parent(phy);

		if (mdio == NULL)
			return -1;
			return -ENODEV;

		err = of_address_to_resource(mdio, 0, &res);
		of_node_put(mdio);

		if (err)
			return -1;

		if (err) {
			of_node_put(mdio);
			return err;
		}
		fsl_pq_mdio_bus_name(bus_name, mdio);
		of_node_put(mdio);
		snprintf(ug_info->phy_bus_id, sizeof(ug_info->phy_bus_id),
			"%s:%02x", bus_name, *prop);
	}