[PATCH V2] ethernet: stmmac: support driver work for DTs without child queue node

From: Jianqun Xu
Date: Thu Apr 28 2022 - 20:46:26 EST


The driver use the value of property 'snps,rx-queues-to-use' to loop
same numbers child nodes as queues, such as:

gmac {
rx-queues-config {
snps,rx-queues-to-use = <1>;
queue0 {
// nothing need here.
};
};
};

Since a patch for dtc from rockchip will delete all node without any
properties or child node, the queue0 node will be deleted, that caused
the driver fail to probe:

rk_gmac-dwmac: probe of ffa80000.ethernet failed with error -22

This patch try to support driver work well for DTs without setting for
the child queue nodes and then have none child queue nodes.

Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx>
---
v2:
- change subject and update commit comment, sugguested by Kicinski

drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 2d8c095f3856..4f01a41c485c 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -279,7 +279,7 @@ static int stmmac_mtl_setup(struct platform_device *pdev,

queue++;
}
- if (queue != plat->tx_queues_to_use) {
+ if (queue != plat->tx_queues_to_use && of_get_child_count(tx_node)) {
ret = -EINVAL;
dev_err(&pdev->dev, "Not all TX queues were configured\n");
goto out;
--
2.25.1