38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
|
diff --git a/drivers/net/wireless/xradio/main.c b/drivers/net/wireless/xradio/main.c
|
||
|
index 2b76ede90..272afad2b 100644
|
||
|
--- a/drivers/net/wireless/xradio/main.c
|
||
|
+++ b/drivers/net/wireless/xradio/main.c
|
||
|
@@ -503,7 +503,11 @@ int xradio_core_init(struct sdio_func* func)
|
||
|
struct ieee80211_hw *dev;
|
||
|
struct xradio_common *hw_priv;
|
||
|
unsigned char randomaddr[ETH_ALEN];
|
||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 13, 0)
|
||
|
const unsigned char *addr = NULL;
|
||
|
+#else
|
||
|
+ unsigned char addr[ETH_ALEN] = {0};
|
||
|
+#endif
|
||
|
|
||
|
//init xradio_common
|
||
|
dev = xradio_init_common(sizeof(struct xradio_common));
|
||
|
@@ -518,12 +522,20 @@ int xradio_core_init(struct sdio_func* func)
|
||
|
|
||
|
// fill in mac addresses
|
||
|
if (hw_priv->pdev->of_node) {
|
||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 13, 0)
|
||
|
addr = of_get_mac_address(hw_priv->pdev->of_node);
|
||
|
+#else
|
||
|
+ int ret = of_get_mac_address(hw_priv->pdev->of_node, addr);
|
||
|
+#endif
|
||
|
}
|
||
|
if (!addr) {
|
||
|
dev_warn(hw_priv->pdev, "no mac address provided, using random\n");
|
||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 13, 0)
|
||
|
eth_random_addr(randomaddr);
|
||
|
addr = randomaddr;
|
||
|
+#else
|
||
|
+ eth_random_addr(addr);
|
||
|
+#endif
|
||
|
}
|
||
|
for (b = 0; b < XRWL_MAX_VIFS; b++) { /* MRK 5.5a */
|
||
|
memcpy(hw_priv->addresses[b].addr, addr, ETH_ALEN);
|