net: ethernet: mtk_eth_soc: fix NULL pointer dereference
authorDaniel Golle <daniel@makrotopia.org>
Tue, 9 May 2023 01:20:06 +0000 (03:20 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 May 2023 08:23:53 +0000 (09:23 +0100)
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

index 4c205af..985cff9 100644 (file)
@@ -654,7 +654,7 @@ __mtk_wed_detach(struct mtk_wed_device *dev)
                                           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);