forked from Openwrt-EcoNet/openwrt
Renamed 046..051 pending patches with the merged tag/hash. Two patches were skipped, they make use of WQ_BH present since v6.14:13221be720
3e3aa566dd
Manually refreshed 062-v6.14-wifi-rtw88-Add-support-for-LED-blinking.patch Manually refreshed 063-v6.14-wifi-rtw88-add-RTW88_LEDS-depends-on-LEDS_CLASS-to-K.patch Manually backported 090-v6.15-wifi-rtw88-Enable-the-new-RTL8814AE-RTL8814AU-driver.patch git log --no-merges --pretty=oneline --abbrev-commit 4c2c372de...0daa521a drivers/net/wireless/realtek/rtw88: 4c2c372de2e1 wifi: rtw88: fix the 'para' buffer size to avoid reading out of bounds f24d0d8c3cd7 wifi: rtw88: Fix the random "error beacon valid" messages for USB 80fe0bc1659c wifi: rtw88: usb: Upload the firmware in bigger chunks 490340faddea wifi: rtw88: usb: Reduce control message timeout to 500 ms b7f0cc647e52 wifi: rtw88: rtw8822bu VID/PID for BUFFALO WI-U2-866DM 2c17afde9ff6 wifi: rtw88: Handle RTL8723D(S) with blank efuse 0ffa1ba81b35 wifi: rtw88: Fix RX aggregation settings for RTL8723DS 20d3c19bd8f9 wifi: rtw88: do not ignore hardware read error during DPK fc5f5a0ec463 wifi: rtw88: sdio: call rtw_sdio_indicate_tx_status unconditionally b2effcdc2379 wifi: rtw88: sdio: map mgmt frames to queue TX_DESC_QSEL_MGMT 581cf3a9cb61 wifi: rtw88: Fix the module names printed in dmesg b8d49bb8d16a wifi: rtw88: Don't set SUPPORTS_AMSDU_IN_AMPDU for RTL8814AU 0d2a88690e58 wifi: rtw88: Set AMPDU factor to hardware for RTL8814A dcbb7bb3a364 wifi: rtw88: usb: Enable RX aggregation for RTL8814AU bf1103654df9 wifi: rtw88: usb: Enable switching the RTL8814AU to USB 3 625fbc16524a wifi: rtw88: usb: Remove redundant 'flush_workqueue()' calls 5c4cf36c538b wifi: rtw88: sdio: Remove redundant 'flush_workqueue()' calls d58ad77d5cc2 wifi: rtw88: Add __nonstring annotations for unterminated strings deb3ddeb1865 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers bad060e8a425 wifi: rtw88: Add rtw8814au.c dad8e8793102 wifi: rtw88: Add rtw8814ae.c 1a7545784642 wifi: rtw88: Add rtw8814a.{c,h} e38246889cc9 wifi: rtw88: Add rtw8814a_table.c (part 2/2) f4debfcb1b3c wifi: rtw88: Add rtw8814a_table.c (part 1/2) 679ec431477c wifi: rtw88: Add some definitions for RTL8814AU c374281f8285 wifi: rtw88: Extend rtw_debugfs_get_tx_pwr_tbl() for RTL8814AU cfebabdd351e wifi: rtw88: Extend rtw_debugfs_get_phy_info() for RTL8814AU 8b42c46cf665 wifi: rtw88: Extend rtw_phy_config_swing_table() for RTL8814AU 053a7aace020 wifi: rtw88: Fix rtw_rx_phy_stat() for RTL8814AU 6be7544d19fc wifi: rtw88: Fix rtw_init_vht_cap() for RTL8814AU c7eea1ba05ca wifi: rtw88: Fix rtw_init_ht_cap() for RTL8814AU 86d04f8f991a wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31 e66bca16638e wifi: rtw88: Fix rtw_mac_power_switch() for RTL8814AU 80c4668d024f wifi: rtw88: Add support for Mercusys MA30N and D-Link DWA-T185 rev. A1 9f00e2218e15 wifi: rtw88: Fix rtw_update_sta_info() for RTL8814AU 0f98a5959657 wifi: rtw88: Extend TX power stuff for 3-4 spatial streams ad815f392003 wifi: rtw88: Rename RTW_RATE_SECTION_MAX to RTW_RATE_SECTION_NUM e66f3b5c7535 wifi: rtw88: Constify some more structs and arrays 8f0076726b66 wifi: rtw88: Extend rtw_fw_send_ra_info() for RTL8814AU d80e7d9b6ba3 wifi: rtw88: Extend rf_base_addr and rf_sipi_addr for RTL8814AU 62f726848da4 wifi: rtw88: Extend struct rtw_pwr_track_tbl for RTL8814AU 9e8243025cc0 wifi: rtw88: Fix download_firmware_validate() for RTL8814AU 8425f5c8f04d wifi: rtw88: Fix __rtw_download_firmware() for RTL8814AU 105dc94233e4 wifi: rtw88: Fix a typo of debug message in rtw8723d_iqk_check_tx_failed() 0d1d165eff9d wifi: rtw88: Don't use static local variable in rtw8821c_set_tx_power_index_by_rate 00451eb3bec7 wifi: rtw88: Don't use static local variable in rtw8822b_set_tx_power_index_by_rate b4bfbc50b1b9 wifi: rtw88: add RTW88_LEDS depends on LEDS_CLASS to Kconfig 4b6652bc6d8d wifi: rtw88: Add support for LED blinking fb2fcfbe5eef wifi: rtw88: sdio: Fix disconnection after beacon loss a806a8160a0f wifi: rtw88: 8703b: Fix RX/TX issues 5ad483955acc wifi: rtw88: Delete rf_type member of struct rtw_sta_info 5b1b9545262b wifi: rtw88: Add USB PHY configuration not backported (3e3aa566dd18 wifi: rtw88: usb: Preallocate and reuse the RX skbs) not backported (13221be72034 wifi: rtw88: Handle C2H_ADAPTIVITY in rtw_fw_c2h_cmd_handle() ) e9048e2935f7 wifi: rtw88: usb: Copy instead of cloning the RX skb 74a72c367573 wifi: rtw88: 8821a/8812a: Set ptct_efuse_size to 0 59ab27a9f20f wifi: rtw88: 8812a: Support RFE type 2 Signed-off-by: Marty Jones <mj8263788@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19052 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
196 lines
5.0 KiB
Diff
196 lines
5.0 KiB
Diff
From 0daa521a1c8c29ffbefe6530f0d276e74e2749d0 Mon Sep 17 00:00:00 2001
|
|
From: Ping-Ke Shih <pkshih@realtek.com>
|
|
Date: Thu, 12 Dec 2024 13:42:03 +0800
|
|
Subject: [PATCH] wifi: rtw88: add __packed attribute to efuse layout struct
|
|
|
|
The layout struct of efuse should not do address alignment by compiler.
|
|
Otherwise it leads unexpected layout and size for certain arch suc as arm.
|
|
In x86-64, the results are identical before and after this patch.
|
|
|
|
Also adjust bit-field to prevent over adjacent byte to avoid warning:
|
|
rtw88/rtw8822b.h:66:1: note: offset of packed bit-field `res2` has changed in GCC 4.4
|
|
66 | } __packed;
|
|
| ^
|
|
|
|
Reported-by: kernel test robot <lkp@intel.com>
|
|
Closes: https://lore.kernel.org/oe-kbuild-all/202412120131.qk0x6OhE-lkp@intel.com/
|
|
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
|
Link: https://patch.msgid.link/20241212054203.135046-1-pkshih@realtek.com
|
|
---
|
|
drivers/net/wireless/realtek/rtw88/main.h | 4 ++--
|
|
drivers/net/wireless/realtek/rtw88/rtw8723x.h | 8 ++++----
|
|
drivers/net/wireless/realtek/rtw88/rtw8821c.h | 9 +++++----
|
|
drivers/net/wireless/realtek/rtw88/rtw8822b.h | 9 +++++----
|
|
drivers/net/wireless/realtek/rtw88/rtw8822c.h | 9 +++++----
|
|
5 files changed, 21 insertions(+), 18 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/realtek/rtw88/main.h
|
|
+++ b/drivers/net/wireless/realtek/rtw88/main.h
|
|
@@ -510,12 +510,12 @@ struct rtw_5g_txpwr_idx {
|
|
struct rtw_5g_vht_ns_pwr_idx_diff vht_2s_diff;
|
|
struct rtw_5g_vht_ns_pwr_idx_diff vht_3s_diff;
|
|
struct rtw_5g_vht_ns_pwr_idx_diff vht_4s_diff;
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw_txpwr_idx {
|
|
struct rtw_2g_txpwr_idx pwr_idx_2g;
|
|
struct rtw_5g_txpwr_idx pwr_idx_5g;
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw_channel_params {
|
|
u8 center_chan;
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8723x.h
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723x.h
|
|
@@ -47,7 +47,7 @@ struct rtw8723xe_efuse {
|
|
u8 device_id[2];
|
|
u8 sub_vendor_id[2];
|
|
u8 sub_device_id[2];
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8723xu_efuse {
|
|
u8 res4[48]; /* 0xd0 */
|
|
@@ -56,12 +56,12 @@ struct rtw8723xu_efuse {
|
|
u8 usb_option; /* 0x104 */
|
|
u8 res5[2]; /* 0x105 */
|
|
u8 mac_addr[ETH_ALEN]; /* 0x107 */
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8723xs_efuse {
|
|
u8 res4[0x4a]; /* 0xd0 */
|
|
u8 mac_addr[ETH_ALEN]; /* 0x11a */
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8723x_efuse {
|
|
__le16 rtl_id;
|
|
@@ -96,7 +96,7 @@ struct rtw8723x_efuse {
|
|
struct rtw8723xu_efuse u;
|
|
struct rtw8723xs_efuse s;
|
|
};
|
|
-};
|
|
+} __packed;
|
|
|
|
#define RTW8723X_IQK_ADDA_REG_NUM 16
|
|
#define RTW8723X_IQK_MAC8_REG_NUM 3
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8821c.h
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.h
|
|
@@ -27,7 +27,7 @@ struct rtw8821cu_efuse {
|
|
u8 res11[0xcf];
|
|
u8 package_type; /* 0x1fb */
|
|
u8 res12[0x4];
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8821ce_efuse {
|
|
u8 mac_addr[ETH_ALEN]; /* 0xd0 */
|
|
@@ -47,7 +47,8 @@ struct rtw8821ce_efuse {
|
|
u8 ltr_en:1;
|
|
u8 res1:2;
|
|
u8 obff:2;
|
|
- u8 res2:3;
|
|
+ u8 res2_1:1;
|
|
+ u8 res2_2:2;
|
|
u8 obff_cap:2;
|
|
u8 res3:4;
|
|
u8 res4[3];
|
|
@@ -63,7 +64,7 @@ struct rtw8821ce_efuse {
|
|
u8 res6:1;
|
|
u8 port_t_power_on_value:5;
|
|
u8 res7;
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8821cs_efuse {
|
|
u8 res4[0x4a]; /* 0xd0 */
|
|
@@ -101,7 +102,7 @@ struct rtw8821c_efuse {
|
|
struct rtw8821cu_efuse u;
|
|
struct rtw8821cs_efuse s;
|
|
};
|
|
-};
|
|
+} __packed;
|
|
|
|
static inline void
|
|
_rtw_write32s_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data)
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8822b.h
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.h
|
|
@@ -27,7 +27,7 @@ struct rtw8822bu_efuse {
|
|
u8 res11[0xcf];
|
|
u8 package_type; /* 0x1fb */
|
|
u8 res12[0x4];
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8822be_efuse {
|
|
u8 mac_addr[ETH_ALEN]; /* 0xd0 */
|
|
@@ -47,7 +47,8 @@ struct rtw8822be_efuse {
|
|
u8 ltr_en:1;
|
|
u8 res1:2;
|
|
u8 obff:2;
|
|
- u8 res2:3;
|
|
+ u8 res2_1:1;
|
|
+ u8 res2_2:2;
|
|
u8 obff_cap:2;
|
|
u8 res3:4;
|
|
u8 res4[3];
|
|
@@ -63,7 +64,7 @@ struct rtw8822be_efuse {
|
|
u8 res6:1;
|
|
u8 port_t_power_on_value:5;
|
|
u8 res7;
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8822bs_efuse {
|
|
u8 res4[0x4a]; /* 0xd0 */
|
|
@@ -103,7 +104,7 @@ struct rtw8822b_efuse {
|
|
struct rtw8822bu_efuse u;
|
|
struct rtw8822bs_efuse s;
|
|
};
|
|
-};
|
|
+} __packed;
|
|
|
|
static inline void
|
|
_rtw_write32s_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data)
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8822c.h
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.h
|
|
@@ -14,7 +14,7 @@ struct rtw8822cu_efuse {
|
|
u8 res1[3];
|
|
u8 mac_addr[ETH_ALEN]; /* 0x157 */
|
|
u8 res2[0x3d];
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8822cs_efuse {
|
|
u8 res0[0x4a]; /* 0x120 */
|
|
@@ -39,7 +39,8 @@ struct rtw8822ce_efuse {
|
|
u8 ltr_en:1;
|
|
u8 res1:2;
|
|
u8 obff:2;
|
|
- u8 res2:3;
|
|
+ u8 res2_1:1;
|
|
+ u8 res2_2:2;
|
|
u8 obff_cap:2;
|
|
u8 res3:4;
|
|
u8 class_code[3];
|
|
@@ -55,7 +56,7 @@ struct rtw8822ce_efuse {
|
|
u8 res6:1;
|
|
u8 port_t_power_on_value:5;
|
|
u8 res7;
|
|
-};
|
|
+} __packed;
|
|
|
|
struct rtw8822c_efuse {
|
|
__le16 rtl_id;
|
|
@@ -102,7 +103,7 @@ struct rtw8822c_efuse {
|
|
struct rtw8822cu_efuse u;
|
|
struct rtw8822cs_efuse s;
|
|
};
|
|
-};
|
|
+} __packed;
|
|
|
|
enum rtw8822c_dpk_agc_phase {
|
|
RTW_DPK_GAIN_CHECK,
|