diff options
| author | Markus Stockhausen | 2025-12-16 12:28:56 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2025-12-23 16:59:11 +0000 |
| commit | 48305ccccee9aa439f106c1881b053e9e32b9067 (patch) | |
| tree | d5e6b729999ee2e23bd783421e7399bd51310560 | |
| parent | b8f4fb2f3d143ecf2364024e69b417ab1c7f6700 (diff) | |
| download | openwrt-48305ccccee9aa439f106c1881b053e9e32b9067.tar.gz | |
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@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21183
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
| -rw-r--r-- | target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c | 18 |
1 files changed, 0 insertions, 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), |