From 9f388f0b4ca276bdcddd244454811382d447b383 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Sat, 11 Mar 2023 20:02:19 +0100 Subject: [PATCH] package/rtl8192eu: fix build failure on PowerPC Add local patch pending upstream[0] to fix build failure for conflicting get_ra() on PowerPC architecture. Fixes: http://autobuild.buildroot.net/results/b248203c7affe183dd297075a540389a82cdae8f [0]: package/rtl8192eu/0002-Fix-conflicting-get_ra-on-PowerPC.patch Signed-off-by: Giulio Benetti Signed-off-by: Peter Korsgaard --- ...02-Fix-conflicting-get_ra-on-PowerPC.patch | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 package/rtl8192eu/0002-Fix-conflicting-get_ra-on-PowerPC.patch diff --git a/package/rtl8192eu/0002-Fix-conflicting-get_ra-on-PowerPC.patch b/package/rtl8192eu/0002-Fix-conflicting-get_ra-on-PowerPC.patch new file mode 100644 index 0000000000..dbc4ddd2e8 --- /dev/null +++ b/package/rtl8192eu/0002-Fix-conflicting-get_ra-on-PowerPC.patch @@ -0,0 +1,124 @@ +From 4a7e9c3c02a759d818a68c5d23ad7623d8b82ee6 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sat, 11 Mar 2023 19:26:32 +0100 +Subject: [PATCH] Fix conflicting get_ra() on PowerPC + +In PowerPc Linux only get_ra() exists[0] and conflicts with local get_ra() +that has a completely different purpose. So let's rename local get_ra() +to rtl_get_ra() to make it different from Linux's get_ra(). + +[0]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/include/asm/disassemble.h?h=v6.1-rc7#n49 + +Signed-off-by: Giulio Benetti +--- + core/rtw_odm.c | 6 +++--- + core/rtw_recv.c | 6 +++--- + hal/hal_com.c | 2 +- + include/wifi.h | 2 +- + os_dep/linux/ioctl_cfg80211.c | 2 +- + 5 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/core/rtw_odm.c b/core/rtw_odm.c +index 750598c..18e0222 100644 +--- a/core/rtw_odm.c ++++ b/core/rtw_odm.c +@@ -258,7 +258,7 @@ void rtw_odm_parse_rx_phy_status_chinfo(union recv_frame *rframe, u8 *phys) + RTW_PRINT("phys_t%u ta="MAC_FMT" %s, %s(band:%u, ch:%u, l_rxsc:%u)\n" + , *phys & 0xf + , MAC_ARG(get_ta(wlanhdr)) +- , is_broadcast_mac_addr(get_ra(wlanhdr)) ? "BC" : is_multicast_mac_addr(get_ra(wlanhdr)) ? "MC" : "UC" ++ , is_broadcast_mac_addr(rtl_get_ra(wlanhdr)) ? "BC" : is_multicast_mac_addr(rtl_get_ra(wlanhdr)) ? "MC" : "UC" + , HDATA_RATE(attrib->data_rate) + , phys_t0->band, phys_t0->channel, phys_t0->rxsc + ); +@@ -368,7 +368,7 @@ type1_end: + RTW_PRINT("phys_t%u ta="MAC_FMT" %s, %s(band:%u, ch:%u, rf_mode:%u, l_rxsc:%u, ht_rxsc:%u) => %u,%u\n" + , *phys & 0xf + , MAC_ARG(get_ta(wlanhdr)) +- , is_broadcast_mac_addr(get_ra(wlanhdr)) ? "BC" : is_multicast_mac_addr(get_ra(wlanhdr)) ? "MC" : "UC" ++ , is_broadcast_mac_addr(rtl_get_ra(wlanhdr)) ? "BC" : is_multicast_mac_addr(rtl_get_ra(wlanhdr)) ? "MC" : "UC" + , HDATA_RATE(attrib->data_rate) + , phys_t1->band, phys_t1->channel, phys_t1->rf_mode, phys_t1->l_rxsc, phys_t1->ht_rxsc + , pkt_cch, pkt_bw +@@ -386,7 +386,7 @@ type1_end: + RTW_PRINT("phys_t%u ta="MAC_FMT" %s, %s(band:%u, ch:%u, l_rxsc:%u, ht_rxsc:%u)\n" + , *phys & 0xf + , MAC_ARG(get_ta(wlanhdr)) +- , is_broadcast_mac_addr(get_ra(wlanhdr)) ? "BC" : is_multicast_mac_addr(get_ra(wlanhdr)) ? "MC" : "UC" ++ , is_broadcast_mac_addr(rtl_get_ra(wlanhdr)) ? "BC" : is_multicast_mac_addr(rtl_get_ra(wlanhdr)) ? "MC" : "UC" + , HDATA_RATE(attrib->data_rate) + , phys_t2->band, phys_t2->channel, phys_t2->l_rxsc, phys_t2->ht_rxsc + ); +diff --git a/core/rtw_recv.c b/core/rtw_recv.c +index 63ecbc6..d52a7bb 100755 +--- a/core/rtw_recv.c ++++ b/core/rtw_recv.c +@@ -4245,7 +4245,7 @@ int recv_func(_adapter *padapter, union recv_frame *rframe) + + if (check_fwstate(mlmepriv, WIFI_MONITOR_STATE) + #ifdef RTW_SIMPLE_CONFIG +- || (check_fwstate(mlmepriv, WIFI_AP_STATE) && padapter->rtw_simple_config == _TRUE && IS_MCAST(get_ra(ptr))) ++ || (check_fwstate(mlmepriv, WIFI_AP_STATE) && padapter->rtw_simple_config == _TRUE && IS_MCAST(rtl_get_ra(ptr))) + #endif + ) { + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)) +@@ -4598,7 +4598,7 @@ void rx_query_phy_status( + wlanhdr = get_recvframe_data(precvframe); + + ta = get_ta(wlanhdr); +- ra = get_ra(wlanhdr); ++ ra = rtl_get_ra(wlanhdr); + is_ra_bmc = IS_MCAST(ra); + + if (_rtw_memcmp(adapter_mac_addr(padapter), ta, ETH_ALEN) == _TRUE) { +@@ -4746,7 +4746,7 @@ s32 pre_recv_entry(union recv_frame *precvframe, u8 *pphy_status) + { + s32 ret = _SUCCESS; + u8 *pbuf = precvframe->u.hdr.rx_data; +- u8 *ra = get_ra(pbuf); ++ u8 *ra = rtl_get_ra(pbuf); + u8 ra_is_bmc = IS_MCAST(ra); + bool phy_queried = 0; + _adapter *primary_padapter = precvframe->u.hdr.adapter; +diff --git a/hal/hal_com.c b/hal/hal_com.c +index 96c7ade..fe5b156 100755 +--- a/hal/hal_com.c ++++ b/hal/hal_com.c +@@ -13590,7 +13590,7 @@ void rtw_store_phy_info(_adapter *padapter, union recv_frame *prframe) + + /*RTW_INFO("=>%s WIFI_DATA_TYPE or WIFI_QOS_DATA_TYPE\n", __FUNCTION__);*/ + if (psta) { +- if (IS_MCAST(get_ra(get_recvframe_data(prframe)))) ++ if (IS_MCAST(rtl_get_ra(get_recvframe_data(prframe)))) + psta_dframe_info = &psta->sta_dframe_info_bmc; + else + psta_dframe_info = &psta->sta_dframe_info; +diff --git a/include/wifi.h b/include/wifi.h +index 322cfba..dd289f2 100644 +--- a/include/wifi.h ++++ b/include/wifi.h +@@ -459,7 +459,7 @@ __inline static int IS_MCAST(const u8 *da) + return _FALSE; + } + +-__inline static unsigned char *get_ra(unsigned char *pframe) ++__inline static unsigned char *rtl_get_ra(unsigned char *pframe) + { + unsigned char *ra; + ra = GetAddr1Ptr(pframe); +diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c +index 942971f..f36c77a 100755 +--- a/os_dep/linux/ioctl_cfg80211.c ++++ b/os_dep/linux/ioctl_cfg80211.c +@@ -7076,7 +7076,7 @@ void rtw_cfg80211_rx_p2p_action_public(_adapter *adapter, union recv_frame *rfra + indicate: + #endif + #if defined(RTW_DEDICATED_P2P_DEVICE) +- if (rtw_cfg80211_redirect_pd_wdev(dvobj_to_wiphy(dvobj), get_ra(frame), &wdev)) ++ if (rtw_cfg80211_redirect_pd_wdev(dvobj_to_wiphy(dvobj), rtl_get_ra(frame), &wdev)) + if (0) + RTW_INFO("redirect to pd_wdev:%p\n", wdev); + #endif +-- +2.34.1 +