29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
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);
|
|
|