mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +00:00
43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
|
From 079c20aa182c6b623d49e1f375e022dedac7373c Mon Sep 17 00:00:00 2001
|
||
|
From: Robert Marko <robimarko@gmail.com>
|
||
|
Date: Fri, 13 Aug 2021 20:03:21 +0200
|
||
|
Subject: [PATCH 04/11] SSDK: dts: 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>
|
||
|
---
|
||
|
src/init/ssdk_dts.c | 7 ++++---
|
||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||
|
|
||
|
--- a/src/init/ssdk_dts.c
|
||
|
+++ b/src/init/ssdk_dts.c
|
||
|
@@ -921,8 +921,9 @@ static void ssdk_dt_parse_intf_mac(void)
|
||
|
{
|
||
|
struct device_node *dp_node = NULL;
|
||
|
a_uint32_t dp = 0;
|
||
|
- a_uint8_t *maddr = NULL;
|
||
|
+ u8 maddr[ETH_ALEN];
|
||
|
char dp_name[8] = {0};
|
||
|
+ int ret;
|
||
|
|
||
|
for (dp = 1; dp <= SSDK_MAX_NR_ETH; dp++) {
|
||
|
snprintf(dp_name, sizeof(dp_name), "dp%d", dp);
|
||
|
@@ -930,11 +931,11 @@ static void ssdk_dt_parse_intf_mac(void)
|
||
|
if (!dp_node) {
|
||
|
continue;
|
||
|
}
|
||
|
- maddr = (a_uint8_t *)of_get_mac_address(dp_node);
|
||
|
+ ret = of_get_mac_address(dp_node, maddr);
|
||
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
|
||
|
if (maddr && is_valid_ether_addr(maddr)) {
|
||
|
#else
|
||
|
- if (!IS_ERR(maddr) && is_valid_ether_addr(maddr)) {
|
||
|
+ if (!ret && is_valid_ether_addr(maddr)) {
|
||
|
#endif
|
||
|
ssdk_dt_global.num_intf_mac++;
|
||
|
ether_addr_copy(ssdk_dt_global.intf_mac[dp-1].uc, maddr);
|