diff options
author | Daniel Golle <daniel@makrotopia.org> | 2023-05-09 02:13:59 +0200 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2023-05-15 20:55:39 +0200 |
commit | 67c1e7ad9bc75aa246ec4a38ab7ae7f088756fc6 (patch) | |
tree | c96b59751c70563224efd1908c12a7a5071e2e66 /target/linux/generic | |
parent | ff5d08799b741d021a9fa86927fac4f86f34b572 (diff) | |
download | openwrt-67c1e7ad9bc75aa246ec4a38ab7ae7f088756fc6.tar.gz openwrt-67c1e7ad9bc75aa246ec4a38ab7ae7f088756fc6.tar.bz2 openwrt-67c1e7ad9bc75aa246ec4a38ab7ae7f088756fc6.zip |
generic: mtk_eth_soc: don't crash if WO firmware is missing
Import patch to prevent crashes in case WO firmware is missing on devices
with only a single frontend (eg. MT7981+MT7976).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target/linux/generic')
-rw-r--r-- | target/linux/generic/backport-5.15/733-v6.4-22-net-ethernet-mtk_eth_soc-fix-NULL-pointer-dereferenc.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/generic/backport-5.15/733-v6.4-22-net-ethernet-mtk_eth_soc-fix-NULL-pointer-dereferenc.patch b/target/linux/generic/backport-5.15/733-v6.4-22-net-ethernet-mtk_eth_soc-fix-NULL-pointer-dereferenc.patch new file mode 100644 index 0000000000..d715c4aa68 --- /dev/null +++ b/target/linux/generic/backport-5.15/733-v6.4-22-net-ethernet-mtk_eth_soc-fix-NULL-pointer-dereferenc.patch @@ -0,0 +1,28 @@ +From 7c83e28f10830aa5105c25eaabe890e3adac36aa Mon Sep 17 00:00:00 2001 +From: Daniel Golle <daniel@makrotopia.org> +Date: Tue, 9 May 2023 03:20:06 +0200 +Subject: [PATCH] net: ethernet: mtk_eth_soc: fix NULL pointer dereference + +Check for NULL pointer to avoid kernel crashing in case of missing WO +firmware in case only a single WEDv2 device has been initialized, e.g. on +MT7981 which can connect just one wireless frontend. + +Fixes: 86ce0d09e424 ("net: ethernet: mtk_eth_soc: use WO firmware for MT7981") +Signed-off-by: Daniel Golle <daniel@makrotopia.org> +Reviewed-by: Simon Horman <simon.horman@corigine.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/ethernet/mediatek/mtk_wed.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/ethernet/mediatek/mtk_wed.c ++++ b/drivers/net/ethernet/mediatek/mtk_wed.c +@@ -647,7 +647,7 @@ __mtk_wed_detach(struct mtk_wed_device * + BIT(hw->index), BIT(hw->index)); + } + +- if (!hw_list[!hw->index]->wed_dev && ++ if ((!hw_list[!hw->index] || !hw_list[!hw->index]->wed_dev) && + hw->eth->dma_dev != hw->eth->dev) + mtk_eth_set_dma_device(hw->eth, hw->eth->dev); + |