From a1a4b09076db6e6f07eea700e9bb9a4f6881d47e Mon Sep 17 00:00:00 2001 From: Markus Stockhausen Date: Mon, 18 May 2026 18:15:18 +0200 Subject: [PATCH] realtek: eth: reorganize control structure setup Early assign pdev and netdev to the control structure during probing. This way it can be used at any time later. Signed-off-by: Markus Stockhausen Link: https://github.com/openwrt/openwrt/pull/23420 Signed-off-by: Robert Marko --- .../realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c index 2beaefb08df..ab55701285e 100644 --- a/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c +++ b/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c @@ -1516,8 +1516,12 @@ static int rteth_probe(struct platform_device *pdev) if (!dev) return -ENOMEM; SET_NETDEV_DEV(dev, &pdev->dev); + ctrl = netdev_priv(dev); + ctrl->pdev = pdev; + ctrl->netdev = dev; ctrl->r = cfg; + ctrl->map = syscon_node_to_regmap(dn->parent); if (IS_ERR(ctrl->map)) return PTR_ERR(ctrl->map); @@ -1601,9 +1605,6 @@ static int rteth_probe(struct platform_device *pdev) pr_info("Using MAC %pM\n", dev->dev_addr); strscpy(dev->name, "eth%d", sizeof(dev->name)); - ctrl->pdev = pdev; - ctrl->netdev = dev; - for (int i = 0; i < RTETH_RX_RINGS; i++) { ctrl->rx_qs[i].id = i; ctrl->rx_qs[i].ctrl = ctrl;