[net] net: sparx5: Fix reading of the MAC address

Message ID 20230102121215.2697179-1-horatiu.vultur@microchip.com
State New
Headers
Series [net] net: sparx5: Fix reading of the MAC address |

Commit Message

Horatiu Vultur Jan. 2, 2023, 12:12 p.m. UTC
  There is an issue with the checking of the return value of
'of_get_mac_address', which returns 0 on success and negative value on
failure. The driver interpretated the result the opposite way. Therefore
if there was a MAC address defined in the DT, then the driver was
generating a random MAC address otherwise it would use address 0.
Fix this by checking correctly the return value of 'of_get_mac_address'

Fixes: b74ef9f9cb91 ("net: sparx5: Do not use mac_addr uninitialized in mchp_sparx5_probe()")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
---
 drivers/net/ethernet/microchip/sparx5/sparx5_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 2, 2023, 1:50 p.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Mon, 2 Jan 2023 13:12:15 +0100 you wrote:
> There is an issue with the checking of the return value of
> 'of_get_mac_address', which returns 0 on success and negative value on
> failure. The driver interpretated the result the opposite way. Therefore
> if there was a MAC address defined in the DT, then the driver was
> generating a random MAC address otherwise it would use address 0.
> Fix this by checking correctly the return value of 'of_get_mac_address'
> 
> [...]

Here is the summary with links:
  - [net] net: sparx5: Fix reading of the MAC address
    https://git.kernel.org/netdev/net/c/588ab2dc25f6

You are awesome, thank you!
  

Patch

diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
index d25f4f09faa06..3c5d4fe993737 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
@@ -834,7 +834,7 @@  static int mchp_sparx5_probe(struct platform_device *pdev)
 	if (err)
 		goto cleanup_config;
 
-	if (!of_get_mac_address(np, sparx5->base_mac)) {
+	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;