Commit e87d3a13 authored by Yanteng Si's avatar Yanteng Si Committed by David S. Miller
Browse files

stmmac: dwmac-loongson: Make sure MDIO is initialized before use



Generic code will use mdio. If it is not initialized before use,
the kernel will Oops.

Fixes: 30bba69d ("stmmac: pci: Add dwmac support for Loongson")
Signed-off-by: default avatarYanteng Si <siyanteng@loongson.cn>
Signed-off-by: default avatarFeiyang Chen <chenfeiyang@loongson.cn>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f3f32a35
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -68,17 +68,15 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id
	if (!plat)
		return -ENOMEM;

	plat->mdio_node = of_get_child_by_name(np, "mdio");
	if (plat->mdio_node) {
		dev_info(&pdev->dev, "Found MDIO subnode\n");

	plat->mdio_bus_data = devm_kzalloc(&pdev->dev,
					   sizeof(*plat->mdio_bus_data),
					   GFP_KERNEL);
		if (!plat->mdio_bus_data) {
			ret = -ENOMEM;
			goto err_put_node;
		}
	if (!plat->mdio_bus_data)
		return -ENOMEM;

	plat->mdio_node = of_get_child_by_name(np, "mdio");
	if (plat->mdio_node) {
		dev_info(&pdev->dev, "Found MDIO subnode\n");
		plat->mdio_bus_data->needs_reset = true;
	}