From 3c38ed380a00689cdcefd991f1e9abe9168efd3c Mon Sep 17 00:00:00 2001 From: Markus Stockhausen Date: Wed, 25 Mar 2026 21:23:35 +0100 Subject: [PATCH] realtek: eth: remove false security in rteth_remove() Check for dev in driver remove gives no additional security. The remove() function is only called if probe() succeeded. Probing will always call platform_set_drvdata() in the good case. So remove() will always find dev data via platform_get_drvdata(). Signed-off-by: Markus Stockhausen Link: https://github.com/openwrt/openwrt/pull/22610 Signed-off-by: Hauke Mehrtens --- .../files-6.12/drivers/net/ethernet/rtl838x_eth.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 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 bec21648ad..f1d3b5492e 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 @@ -1616,15 +1616,13 @@ static void rtl838x_eth_remove(struct platform_device *pdev) struct net_device *dev = platform_get_drvdata(pdev); struct rteth_ctrl *ctrl = netdev_priv(dev); - if (dev) { - pr_info("Removing platform driver for rtl838x-eth\n"); - rteth_hw_stop(ctrl); + pr_info("Removing platform driver for rtl838x-eth\n"); + rteth_hw_stop(ctrl); - netif_tx_stop_all_queues(dev); + netif_tx_stop_all_queues(dev); - for (int i = 0; i < RTETH_RX_RINGS; i++) - netif_napi_del(&ctrl->rx_qs[i].napi); - } + for (int i = 0; i < RTETH_RX_RINGS; i++) + netif_napi_del(&ctrl->rx_qs[i].napi); } static const struct of_device_id rteth_of_ids[] = {