From: Nathan Chancellor Date: Sun, 27 Jun 2021 18:45:43 +0000 (-0700) Subject: net: sparx5: Do not use mac_addr uninitialized in mchp_sparx5_probe() X-Git-Tag: v5.15~843^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b74ef9f9cb91fc86c642af965b7598c4df1c9922;p=platform%2Fkernel%2Flinux-starfive.git net: sparx5: Do not use mac_addr uninitialized in mchp_sparx5_probe() Clang warns: drivers/net/ethernet/microchip/sparx5/sparx5_main.c:760:29: warning: variable 'mac_addr' is uninitialized when used here [-Wuninitialized] if (of_get_mac_address(np, mac_addr)) { ^~~~~~~~ drivers/net/ethernet/microchip/sparx5/sparx5_main.c:669:14: note: initialize the variable 'mac_addr' to silence this warning u8 *mac_addr; ^ = NULL 1 warning generated. mac_addr is only used to store the value retrieved from of_get_mac_address(), which is then copied into the base_mac member of the sparx5 struct using ether_addr_copy(). It is easier to just use the base_mac address directly, which avoids the warning and the extra copy. Fixes: 3cfa11bac9bb ("net: sparx5: add the basic sparx5 driver") Link: https://github.com/ClangBuiltLinux/linux/issues/1413 Signed-off-by: Nathan Chancellor Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c index abaa086..f666133 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c @@ -670,7 +670,6 @@ static int mchp_sparx5_probe(struct platform_device *pdev) struct reset_control *reset; struct sparx5 *sparx5; int idx = 0, err = 0; - u8 *mac_addr; if (!np && !pdev->dev.platform_data) return -ENODEV; @@ -761,12 +760,10 @@ static int mchp_sparx5_probe(struct platform_device *pdev) if (err) goto cleanup_config; - if (of_get_mac_address(np, mac_addr)) { + if (!of_get_mac_address(np, sparx5->base_mac)) { dev_info(sparx5->dev, "MAC addr was not set, use random MAC\n"); eth_random_addr(sparx5->base_mac); sparx5->base_mac[5] = 0; - } else { - ether_addr_copy(sparx5->base_mac, mac_addr); } sparx5->xtr_irq = platform_get_irq_byname(sparx5->pdev, "xtr");