[openwrt/openwrt] realtek: ethernet: drop devm_request_mem_region()

LEDE Commits lede-commits at lists.infradead.org
Tue Dec 23 09:00:19 PST 2025


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/48305ccccee9aa439f106c1881b053e9e32b9067

commit 48305ccccee9aa439f106c1881b053e9e32b9067
Author: Markus Stockhausen <markus.stockhausen at gmx.de>
AuthorDate: Tue Dec 16 13:28:56 2025 +0100

    realtek: ethernet: drop devm_request_mem_region()
    
    The ethernet driver currently "requests" the memory region of the
    ethernet device according to the DTS settings. This is wrong in
    two ways:
    
    - The DTS uses arbitrary regions out of the switchcore memory
    - The variable is afterwards overwritten by DMA allocation
    
    Drop it.
    
    Signed-off-by: Markus Stockhausen <markus.stockhausen at gmx.de>
    Link: https://github.com/openwrt/openwrt/pull/21183
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 .../files-6.12/drivers/net/ethernet/rtl838x_eth.c      | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c
index b30c74b5d6..eb110840e8 100644
--- a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c
+++ b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c
@@ -1647,7 +1647,6 @@ static int __init rtl838x_eth_probe(struct platform_device *pdev)
 	struct net_device *dev;
 	struct device_node *dn = pdev->dev.of_node;
 	struct rtl838x_eth_priv *priv;
-	struct resource *res, *mem;
 	phy_interface_t phy_mode;
 	struct phylink *phylink;
 	u8 mac_addr[ETH_ALEN];
@@ -1674,23 +1673,6 @@ static int __init rtl838x_eth_probe(struct platform_device *pdev)
 	SET_NETDEV_DEV(dev, &pdev->dev);
 	priv = netdev_priv(dev);
 
-	/* obtain buffer memory space */
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (res) {
-		mem = devm_request_mem_region(&pdev->dev, res->start,
-					      resource_size(res), res->name);
-		if (!mem) {
-			dev_err(&pdev->dev, "cannot request memory space\n");
-			return -ENXIO;
-		}
-
-		dev->mem_start = mem->start;
-		dev->mem_end   = mem->end;
-	} else {
-		dev_err(&pdev->dev, "cannot request IO resource\n");
-		return -ENXIO;
-	}
-
 	/* Allocate buffer memory */
 	priv->membase = dmam_alloc_coherent(&pdev->dev, rxrings * rxringlen * RING_BUFFER +
 					    sizeof(struct ring_b) + sizeof(struct notify_b),




More information about the lede-commits mailing list