aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/qca-nss-dp/patches/0006-NSS-DP-fix-of_get_mac_address.patch
blob: 1d7b49129fb0af192eb3352523010f1f78bf4297 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
From cadeb62a42296563141d6954eec58e34ef86778d Mon Sep 17 00:00:00 2001
From: Robert Marko <robimarko@gmail.com>
Date: Fri, 13 Aug 2021 20:12:08 +0200
Subject: [PATCH] NSS-DP: fix of_get_mac_address()

Recently OpenWrt backported the updated of_get_mac_address()
function which returns and error code instead.

So, patch the SSDK to use it and fix the compilation error.

Signed-off-by: Robert Marko <robimarko@gmail.com>
---
 nss_dp_main.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

--- a/nss_dp_main.c
+++ b/nss_dp_main.c
@@ -555,9 +555,10 @@ static int32_t nss_dp_of_get_pdata(struc
 				   struct net_device *netdev,
 				   struct nss_gmac_hal_platform_data *hal_pdata)
 {
-	uint8_t *maddr;
+	u8 maddr[ETH_ALEN];
 	struct nss_dp_dev *dp_priv;
 	struct resource memres_devtree = {0};
+	int ret;
 
 	dp_priv = netdev_priv(netdev);
 
@@ -600,14 +601,8 @@ static int32_t nss_dp_of_get_pdata(struc
 	of_property_read_u32(np, "qcom,forced-speed", &dp_priv->forced_speed);
 	of_property_read_u32(np, "qcom,forced-duplex", &dp_priv->forced_duplex);
 
-	maddr = (uint8_t *)of_get_mac_address(np);
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(5, 4, 0))
-	if (IS_ERR((void *)maddr)) {
-		maddr = NULL;
-	}
-#endif
-
-	if (maddr && is_valid_ether_addr(maddr)) {
+	ret = of_get_mac_address(np, maddr);
+	if (!ret && is_valid_ether_addr(maddr)) {
 		ether_addr_copy(netdev->dev_addr, maddr);
 	} else {
 		random_ether_addr(netdev->dev_addr);