stmmac: dwmac-loongson: fix invalid mdio_node
Commit Message
In current code "plat->mdio_node" is always NULL, the mdio
support is lost as there is no "mdio_bus_data". The original
driver could work as the "mdio" variable is never set to
false, which is described in commit <b0e03950dd71> ("stmmac:
dwmac-loongson: fix uninitialized variable ......"). And
after this commit merged, the "mdio" variable is always
false, causing the mdio supoort logic lost.
Fixes: 30bba69d7db4 ("stmmac: pci: Add dwmac support for Loongson")
Signed-off-by: Liu Peibao <liupeibao@loongson.cn>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
Comments
On Tue, Nov 01, 2022 at 02:02:18PM +0800, Liu Peibao wrote:
> In current code "plat->mdio_node" is always NULL, the mdio
> support is lost as there is no "mdio_bus_data". The original
> driver could work as the "mdio" variable is never set to
> false, which is described in commit <b0e03950dd71> ("stmmac:
> dwmac-loongson: fix uninitialized variable ......"). And
> after this commit merged, the "mdio" variable is always
> false, causing the mdio supoort logic lost.
>
> Fixes: 30bba69d7db4 ("stmmac: pci: Add dwmac support for Loongson")
> Signed-off-by: Liu Peibao <liupeibao@loongson.cn>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
Hello:
This patch was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 1 Nov 2022 14:02:18 +0800 you wrote:
> In current code "plat->mdio_node" is always NULL, the mdio
> support is lost as there is no "mdio_bus_data". The original
> driver could work as the "mdio" variable is never set to
> false, which is described in commit <b0e03950dd71> ("stmmac:
> dwmac-loongson: fix uninitialized variable ......"). And
> after this commit merged, the "mdio" variable is always
> false, causing the mdio supoort logic lost.
>
> [...]
Here is the summary with links:
- stmmac: dwmac-loongson: fix invalid mdio_node
https://git.kernel.org/netdev/net/c/2ae34111fe4e
You are awesome, thank you!
@@ -51,7 +51,6 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id
struct stmmac_resources res;
struct device_node *np;
int ret, i, phy_mode;
- bool mdio = false;
np = dev_of_node(&pdev->dev);
@@ -69,12 +68,10 @@ 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_err(&pdev->dev, "Found MDIO subnode\n");
- mdio = true;
- }
+ dev_info(&pdev->dev, "Found MDIO subnode\n");
- if (mdio) {
plat->mdio_bus_data = devm_kzalloc(&pdev->dev,
sizeof(*plat->mdio_bus_data),
GFP_KERNEL);