diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 8b97790ef0..253365304b 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -20,20 +20,20 @@ case "${LINUX}" in PKG_SHA256="1a140beb8b10ea52e4dd595c5ce4e00995e0176353f980be50aedca4c009c2b7" PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" - PKG_PATCH_DIRS="default rtlwifi/6.13 rtlwifi/after-6.13" + PKG_PATCH_DIRS="default rtlwifi/6.13 rtlwifi/6.14 rtlwifi/after-6.14" ;; raspberrypi) - PKG_VERSION="8d163a94e3dd5af76ea4fa40ff819c546e1b8cb5" # 6.12.13 - PKG_SHA256="6ea0f498cc77203c3d5116b97adba26998a9d76b37a0b9b9210217b3538f44fa" + PKG_VERSION="031a3826707c5a9c5761bb9c354756b6730051cf" # 6.12.15 + PKG_SHA256="247184d2f8e5de5606988ba8820dc663460492147d138076bb69fafde53ac820" PKG_URL="https://github.com/raspberrypi/linux/archive/${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" - PKG_PATCH_DIRS="raspberrypi rtlwifi/6.13 rtlwifi/after-6.13" + PKG_PATCH_DIRS="raspberrypi rtlwifi/6.13 rtlwifi/6.14 rtlwifi/after-6.14" ;; *) - PKG_VERSION="6.12.13" - PKG_SHA256="f3ebdeea9e555b4cface44e29670056f4024541e6bd222fbcf776c818974fbba" + PKG_VERSION="6.12.15" + PKG_SHA256="5ff5bd84ea0e22c53437302db5d394d0a92d8b8b1a88ce20d1098298e9f7630a" PKG_URL="https://www.kernel.org/pub/linux/kernel/v${PKG_VERSION/.*/}.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" - PKG_PATCH_DIRS="default rtlwifi/6.13 rtlwifi/after-6.13" + PKG_PATCH_DIRS="default rtlwifi/6.13 rtlwifi/6.14 rtlwifi/after-6.14" ;; esac diff --git a/packages/linux/patches/rtlwifi/after-6.13/0025-wifi-rtw88-8821au-Add-additional-devices-to-the-USB_.patch b/packages/linux/patches/rtlwifi/6.14/0025-wifi-rtw88-8821au-Add-additional-devices-to-the-USB_.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0025-wifi-rtw88-8821au-Add-additional-devices-to-the-USB_.patch rename to packages/linux/patches/rtlwifi/6.14/0025-wifi-rtw88-8821au-Add-additional-devices-to-the-USB_.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0026-wifi-rtw88-8812au-Add-more-device-IDs.patch b/packages/linux/patches/rtlwifi/6.14/0026-wifi-rtw88-8812au-Add-more-device-IDs.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0026-wifi-rtw88-8812au-Add-more-device-IDs.patch rename to packages/linux/patches/rtlwifi/6.14/0026-wifi-rtw88-8812au-Add-more-device-IDs.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0027-wifi-rtw88-usb-Support-USB-3-with-RTL8812AU.patch b/packages/linux/patches/rtlwifi/6.14/0027-wifi-rtw88-usb-Support-USB-3-with-RTL8812AU.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0027-wifi-rtw88-usb-Support-USB-3-with-RTL8812AU.patch rename to packages/linux/patches/rtlwifi/6.14/0027-wifi-rtw88-usb-Support-USB-3-with-RTL8812AU.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0028-wifi-rtw88-usb-Enable-RX-aggregation-for-8821au-8812.patch b/packages/linux/patches/rtlwifi/6.14/0028-wifi-rtw88-usb-Enable-RX-aggregation-for-8821au-8812.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0028-wifi-rtw88-usb-Enable-RX-aggregation-for-8821au-8812.patch rename to packages/linux/patches/rtlwifi/6.14/0028-wifi-rtw88-usb-Enable-RX-aggregation-for-8821au-8812.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0031-wifi-rtw88-8812a-Support-RFE-type-2.patch b/packages/linux/patches/rtlwifi/6.14/0031-wifi-rtw88-8812a-Support-RFE-type-2.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0031-wifi-rtw88-8812a-Support-RFE-type-2.patch rename to packages/linux/patches/rtlwifi/6.14/0031-wifi-rtw88-8812a-Support-RFE-type-2.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0032-wifi-rtw88-8821a-8812a-Set-ptct_efuse_size-to-0.patch b/packages/linux/patches/rtlwifi/6.14/0032-wifi-rtw88-8821a-8812a-Set-ptct_efuse_size-to-0.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0032-wifi-rtw88-8821a-8812a-Set-ptct_efuse_size-to-0.patch rename to packages/linux/patches/rtlwifi/6.14/0032-wifi-rtw88-8821a-8812a-Set-ptct_efuse_size-to-0.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0033-wifi-rtw88-usb-Copy-instead-of-cloning-the-RX-skb.patch b/packages/linux/patches/rtlwifi/6.14/0033-wifi-rtw88-usb-Copy-instead-of-cloning-the-RX-skb.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0033-wifi-rtw88-usb-Copy-instead-of-cloning-the-RX-skb.patch rename to packages/linux/patches/rtlwifi/6.14/0033-wifi-rtw88-usb-Copy-instead-of-cloning-the-RX-skb.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0034-wifi-rtw88-Handle-C2H_ADAPTIVITY-in-rtw_fw_c2h_cmd_h.patch b/packages/linux/patches/rtlwifi/6.14/0034-wifi-rtw88-Handle-C2H_ADAPTIVITY-in-rtw_fw_c2h_cmd_h.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0034-wifi-rtw88-Handle-C2H_ADAPTIVITY-in-rtw_fw_c2h_cmd_h.patch rename to packages/linux/patches/rtlwifi/6.14/0034-wifi-rtw88-Handle-C2H_ADAPTIVITY-in-rtw_fw_c2h_cmd_h.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0035-wifi-rtw88-usb-Preallocate-and-reuse-the-RX-skbs.patch b/packages/linux/patches/rtlwifi/6.14/0035-wifi-rtw88-usb-Preallocate-and-reuse-the-RX-skbs.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0035-wifi-rtw88-usb-Preallocate-and-reuse-the-RX-skbs.patch rename to packages/linux/patches/rtlwifi/6.14/0035-wifi-rtw88-usb-Preallocate-and-reuse-the-RX-skbs.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0036-wifi-rtl8xxxu-Fix-RTL8188EU-firmware-upload-block-si.patch b/packages/linux/patches/rtlwifi/6.14/0036-wifi-rtl8xxxu-Fix-RTL8188EU-firmware-upload-block-si.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0036-wifi-rtl8xxxu-Fix-RTL8188EU-firmware-upload-block-si.patch rename to packages/linux/patches/rtlwifi/6.14/0036-wifi-rtl8xxxu-Fix-RTL8188EU-firmware-upload-block-si.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0037-wifi-rtw88-Add-USB-PHY-configuration.patch b/packages/linux/patches/rtlwifi/6.14/0037-wifi-rtw88-Add-USB-PHY-configuration.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0037-wifi-rtw88-Add-USB-PHY-configuration.patch rename to packages/linux/patches/rtlwifi/6.14/0037-wifi-rtw88-Add-USB-PHY-configuration.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0038-wifi-rtw88-Delete-rf_type-member-of-struct-rtw_sta_i.patch b/packages/linux/patches/rtlwifi/6.14/0038-wifi-rtw88-Delete-rf_type-member-of-struct-rtw_sta_i.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0038-wifi-rtw88-Delete-rf_type-member-of-struct-rtw_sta_i.patch rename to packages/linux/patches/rtlwifi/6.14/0038-wifi-rtw88-Delete-rf_type-member-of-struct-rtw_sta_i.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0041-wifi-rtw88-Add-support-for-LED-blinking.patch b/packages/linux/patches/rtlwifi/6.14/0041-wifi-rtw88-Add-support-for-LED-blinking.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0041-wifi-rtw88-Add-support-for-LED-blinking.patch rename to packages/linux/patches/rtlwifi/6.14/0041-wifi-rtw88-Add-support-for-LED-blinking.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0029-wifi-rtw88-add-__packed-attribute-to-efuse-layout-st.patch b/packages/linux/patches/rtlwifi/after-6.13/0029-wifi-rtw88-add-__packed-attribute-to-efuse-layout-st.patch deleted file mode 100644 index ce1c37e27d..0000000000 --- a/packages/linux/patches/rtlwifi/after-6.13/0029-wifi-rtw88-add-__packed-attribute-to-efuse-layout-st.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 0daa521a1c8c29ffbefe6530f0d276e74e2749d0 Mon Sep 17 00:00:00 2001 -From: Ping-Ke Shih -Date: Thu, 12 Dec 2024 13:42:03 +0800 -Subject: [PATCH 29/35] 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 -Closes: https://lore.kernel.org/oe-kbuild-all/202412120131.qk0x6OhE-lkp@intel.com/ -Signed-off-by: Ping-Ke Shih -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(-) - -diff --git a/drivers/net/wireless/realtek/rtw88/main.h b/drivers/net/wireless/realtek/rtw88/main.h -index cd09fb6f7b8b..65c7acea41af 100644 ---- 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; -diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723x.h b/drivers/net/wireless/realtek/rtw88/rtw8723x.h -index e93bfce994bf..a99af527c92c 100644 ---- 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 -diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.h b/drivers/net/wireless/realtek/rtw88/rtw8821c.h -index 7a33ebd612ed..954e93c8020d 100644 ---- 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) -diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822b.h b/drivers/net/wireless/realtek/rtw88/rtw8822b.h -index 0514958fb57c..9fca9ba67c90 100644 ---- 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) -diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c.h b/drivers/net/wireless/realtek/rtw88/rtw8822c.h -index e2b383d633cd..fc62b67a15f2 100644 ---- 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, --- -2.43.0 - diff --git a/packages/linux/patches/rtlwifi/after-6.13/0030-wifi-rtlwifi-rtl8821ae-Fix-media-status-report.patch b/packages/linux/patches/rtlwifi/after-6.13/0030-wifi-rtlwifi-rtl8821ae-Fix-media-status-report.patch deleted file mode 100644 index 35ced20c49..0000000000 --- a/packages/linux/patches/rtlwifi/after-6.13/0030-wifi-rtlwifi-rtl8821ae-Fix-media-status-report.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 66ef0289ac99e155d206ddaa0fdfad09ae3cd007 Mon Sep 17 00:00:00 2001 -From: Bitterblue Smith -Date: Wed, 18 Dec 2024 00:53:11 +0200 -Subject: [PATCH 30/35] wifi: rtlwifi: rtl8821ae: Fix media status report - -RTL8821AE is stuck transmitting at the lowest rate allowed by the rate -mask. This is because the firmware doesn't know the device is connected -to a network. - -Fix the macros SET_H2CCMD_MSRRPT_PARM_OPMODE and -SET_H2CCMD_MSRRPT_PARM_MACID_IND to work on the first byte of __cmd, -not the second. Now the firmware is correctly notified when the device -is connected to a network and it activates the rate control. - -Before (MCS3): - -[ 5] 0.00-1.00 sec 12.5 MBytes 105 Mbits/sec 0 339 KBytes -[ 5] 1.00-2.00 sec 10.6 MBytes 89.1 Mbits/sec 0 339 KBytes -[ 5] 2.00-3.00 sec 10.6 MBytes 89.1 Mbits/sec 0 386 KBytes -[ 5] 3.00-4.00 sec 10.6 MBytes 89.1 Mbits/sec 0 386 KBytes -[ 5] 4.00-5.00 sec 10.2 MBytes 86.0 Mbits/sec 0 427 KBytes - -After (MCS9): - -[ 5] 0.00-1.00 sec 33.9 MBytes 284 Mbits/sec 0 771 KBytes -[ 5] 1.00-2.00 sec 31.6 MBytes 265 Mbits/sec 0 865 KBytes -[ 5] 2.00-3.00 sec 29.9 MBytes 251 Mbits/sec 0 963 KBytes -[ 5] 3.00-4.00 sec 28.2 MBytes 237 Mbits/sec 0 963 KBytes -[ 5] 4.00-5.00 sec 26.8 MBytes 224 Mbits/sec 0 963 KBytes - -Fixes: 39f40710d0b5 ("rtlwifi: rtl88821ae: Remove usage of private bit manipulation macros") -Cc: stable@vger.kernel.org -Signed-off-by: Bitterblue Smith -Acked-by: Ping-Ke Shih -Signed-off-by: Ping-Ke Shih -Link: https://patch.msgid.link/754785b3-8a78-4554-b80d-de5f603b410b@gmail.com ---- - drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h -index c269942b3f4a..af8d17b9e012 100644 ---- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h -+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h -@@ -197,9 +197,9 @@ enum rtl8821a_h2c_cmd { - - /* _MEDIA_STATUS_RPT_PARM_CMD1 */ - #define SET_H2CCMD_MSRRPT_PARM_OPMODE(__cmd, __value) \ -- u8p_replace_bits(__cmd + 1, __value, BIT(0)) -+ u8p_replace_bits(__cmd, __value, BIT(0)) - #define SET_H2CCMD_MSRRPT_PARM_MACID_IND(__cmd, __value) \ -- u8p_replace_bits(__cmd + 1, __value, BIT(1)) -+ u8p_replace_bits(__cmd, __value, BIT(1)) - - /* AP_OFFLOAD */ - #define SET_H2CCMD_AP_OFFLOAD_ON(__cmd, __value) \ --- -2.43.0 - diff --git a/packages/linux/patches/rtlwifi/after-6.13/0039-wifi-rtw88-8703b-Fix-RX-TX-issues.patch b/packages/linux/patches/rtlwifi/after-6.13/0039-wifi-rtw88-8703b-Fix-RX-TX-issues.patch deleted file mode 100644 index ca3afd6a64..0000000000 --- a/packages/linux/patches/rtlwifi/after-6.13/0039-wifi-rtw88-8703b-Fix-RX-TX-issues.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 62acd2ac82a8d5d13be9da982aad01bfd8260214 Mon Sep 17 00:00:00 2001 -From: Vasily Khoruzhick -Date: Thu, 2 Jan 2025 23:50:53 -0800 -Subject: [PATCH 39/41] wifi: rtw88: 8703b: Fix RX/TX issues - -Fix 3 typos in 8703b driver. 2 typos in calibration routines are not -fatal and do not seem to have any impact, just fix them to match vendor -driver. - -However the last one in rtw8703b_set_channel_bb() clears too many bits -in REG_OFDM0_TX_PSD_NOISE, causing TX and RX issues (neither rate goes -above MCS0-MCS1). Vendor driver clears only 2 most significant bits. - -With the last typo fixed, the driver is able to reach MCS7 on Pinebook - -Cc: stable@vger.kernel.org -Fixes: 9bb762b3a957 ("wifi: rtw88: Add definitions for 8703b chip") -Signed-off-by: Vasily Khoruzhick -Acked-by: Ping-Ke Shih -Tested-by: Fiona Klute -Tested-by: Andrey Skvortsov -Signed-off-by: Ping-Ke Shih -Link: https://patch.msgid.link/20250103075107.1337533-1-anarsoul@gmail.com ---- - drivers/net/wireless/realtek/rtw88/rtw8703b.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/net/wireless/realtek/rtw88/rtw8703b.c b/drivers/net/wireless/realtek/rtw88/rtw8703b.c -index a19b94d022ee..1d232adbdd7e 100644 ---- a/drivers/net/wireless/realtek/rtw88/rtw8703b.c -+++ b/drivers/net/wireless/realtek/rtw88/rtw8703b.c -@@ -903,7 +903,7 @@ static void rtw8703b_set_channel_bb(struct rtw_dev *rtwdev, u8 channel, u8 bw, - rtw_write32_mask(rtwdev, REG_FPGA0_RFMOD, BIT_MASK_RFMOD, 0x0); - rtw_write32_mask(rtwdev, REG_FPGA1_RFMOD, BIT_MASK_RFMOD, 0x0); - rtw_write32_mask(rtwdev, REG_OFDM0_TX_PSD_NOISE, -- GENMASK(31, 20), 0x0); -+ GENMASK(31, 30), 0x0); - rtw_write32(rtwdev, REG_BBRX_DFIR, 0x4A880000); - rtw_write32(rtwdev, REG_OFDM0_A_TX_AFE, 0x19F60000); - break; -@@ -1198,9 +1198,9 @@ static u8 rtw8703b_iqk_rx_path(struct rtw_dev *rtwdev, - rtw_write32(rtwdev, REG_RXIQK_TONE_A_11N, 0x38008c1c); - rtw_write32(rtwdev, REG_TX_IQK_TONE_B, 0x38008c1c); - rtw_write32(rtwdev, REG_RX_IQK_TONE_B, 0x38008c1c); -- rtw_write32(rtwdev, REG_TXIQK_PI_A_11N, 0x8216000f); -+ rtw_write32(rtwdev, REG_TXIQK_PI_A_11N, 0x8214030f); - rtw_write32(rtwdev, REG_RXIQK_PI_A_11N, 0x28110000); -- rtw_write32(rtwdev, REG_TXIQK_PI_B, 0x28110000); -+ rtw_write32(rtwdev, REG_TXIQK_PI_B, 0x82110000); - rtw_write32(rtwdev, REG_RXIQK_PI_B, 0x28110000); - - /* LOK setting */ -@@ -1372,7 +1372,7 @@ void rtw8703b_iqk_fill_a_matrix(struct rtw_dev *rtwdev, const s32 result[]) - return; - - tmp_rx_iqi |= FIELD_PREP(BIT_MASK_RXIQ_S1_X, result[IQK_S1_RX_X]); -- tmp_rx_iqi |= FIELD_PREP(BIT_MASK_RXIQ_S1_Y1, result[IQK_S1_RX_X]); -+ tmp_rx_iqi |= FIELD_PREP(BIT_MASK_RXIQ_S1_Y1, result[IQK_S1_RX_Y]); - rtw_write32(rtwdev, REG_A_RXIQI, tmp_rx_iqi); - rtw_write32_mask(rtwdev, REG_RXIQK_MATRIX_LSB_11N, BIT_MASK_RXIQ_S1_Y2, - BIT_SET_RXIQ_S1_Y2(result[IQK_S1_RX_Y])); --- -2.43.0 - diff --git a/packages/linux/patches/rtlwifi/after-6.13/0040-wifi-rtw88-sdio-Fix-disconnection-after-beacon-loss.patch b/packages/linux/patches/rtlwifi/after-6.13/0040-wifi-rtw88-sdio-Fix-disconnection-after-beacon-loss.patch deleted file mode 100644 index 3f6837a259..0000000000 --- a/packages/linux/patches/rtlwifi/after-6.13/0040-wifi-rtw88-sdio-Fix-disconnection-after-beacon-loss.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f8d47d06677264fbb7d603f1524b9fe4937be0f8 Mon Sep 17 00:00:00 2001 -From: Fiona Klute -Date: Mon, 6 Jan 2025 15:54:34 +0200 -Subject: [PATCH 40/41] wifi: rtw88: sdio: Fix disconnection after beacon loss - -This is the equivalent of commit 28818b4d871b ("wifi: rtw88: usb: Fix -disconnection after beacon loss") for SDIO chips. -Tested on Pinephone (RTL8723CS), random disconnections became rare, -instead of a frequent nuisance. - -Cc: stable@vger.kernel.org -Signed-off-by: Fiona Klute -Tested-by: Vasily Khoruzhick # Tested on Pinebook -Acked-by: Ping-Ke Shih -Signed-off-by: Ping-Ke Shih -Link: https://patch.msgid.link/20250106135434.35936-1-fiona.klute@gmx.de ---- - drivers/net/wireless/realtek/rtw88/sdio.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/net/wireless/realtek/rtw88/sdio.c b/drivers/net/wireless/realtek/rtw88/sdio.c -index 799230eb5f16..e024061bdbf7 100644 ---- a/drivers/net/wireless/realtek/rtw88/sdio.c -+++ b/drivers/net/wireless/realtek/rtw88/sdio.c -@@ -1192,6 +1192,8 @@ static void rtw_sdio_indicate_tx_status(struct rtw_dev *rtwdev, - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - struct ieee80211_hw *hw = rtwdev->hw; - -+ skb_pull(skb, rtwdev->chip->tx_pkt_desc_sz); -+ - /* enqueue to wait for tx report */ - if (info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS) { - rtw_tx_report_enqueue(rtwdev, skb, tx_data->sn); --- -2.43.0 - diff --git a/packages/linux/patches/rtlwifi/after-6.14/0042-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch b/packages/linux/patches/rtlwifi/after-6.14/0042-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch new file mode 100644 index 0000000000..5f98c2f3a5 --- /dev/null +++ b/packages/linux/patches/rtlwifi/after-6.14/0042-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch @@ -0,0 +1,73 @@ +From 14482a0c7b998d383feccecea57ec4b5725dfbd8 Mon Sep 17 00:00:00 2001 +From: Bitterblue Smith +Date: Sun, 26 Jan 2025 16:03:11 +0200 +Subject: [PATCH 42/43] wifi: rtw88: Don't use static local variable in + rtw8822b_set_tx_power_index_by_rate + +Some users want to plug two identical USB devices at the same time. +This static variable could theoretically cause them to use incorrect +TX power values. + +Move the variable to the caller and pass a pointer to it to +rtw8822b_set_tx_power_index_by_rate(). + +Signed-off-by: Bitterblue Smith +Acked-by: Ping-Ke Shih +Signed-off-by: Ping-Ke Shih +Link: https://patch.msgid.link/8a60f581-0ab5-4d98-a97d-dd83b605008f@gmail.com +--- + drivers/net/wireless/realtek/rtw88/rtw8822b.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822b.c b/drivers/net/wireless/realtek/rtw88/rtw8822b.c +index 7f03903ddf4b..23a29019752d 100644 +--- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c ++++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c +@@ -935,11 +935,11 @@ static void query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status, + } + + static void +-rtw8822b_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs) ++rtw8822b_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, ++ u8 rs, u32 *phy_pwr_idx) + { + struct rtw_hal *hal = &rtwdev->hal; + static const u32 offset_txagc[2] = {0x1d00, 0x1d80}; +- static u32 phy_pwr_idx; + u8 rate, rate_idx, pwr_index, shift; + int j; + +@@ -947,12 +947,12 @@ rtw8822b_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs) + rate = rtw_rate_section[rs][j]; + pwr_index = hal->tx_pwr_tbl[path][rate]; + shift = rate & 0x3; +- phy_pwr_idx |= ((u32)pwr_index << (shift * 8)); ++ *phy_pwr_idx |= ((u32)pwr_index << (shift * 8)); + if (shift == 0x3) { + rate_idx = rate & 0xfc; + rtw_write32(rtwdev, offset_txagc[path] + rate_idx, +- phy_pwr_idx); +- phy_pwr_idx = 0; ++ *phy_pwr_idx); ++ *phy_pwr_idx = 0; + } + } + } +@@ -960,11 +960,13 @@ rtw8822b_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs) + static void rtw8822b_set_tx_power_index(struct rtw_dev *rtwdev) + { + struct rtw_hal *hal = &rtwdev->hal; ++ u32 phy_pwr_idx = 0; + int rs, path; + + for (path = 0; path < hal->rf_path_num; path++) { + for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++) +- rtw8822b_set_tx_power_index_by_rate(rtwdev, path, rs); ++ rtw8822b_set_tx_power_index_by_rate(rtwdev, path, rs, ++ &phy_pwr_idx); + } + } + +-- +2.43.0 + diff --git a/packages/linux/patches/rtlwifi/after-6.14/0043-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch b/packages/linux/patches/rtlwifi/after-6.14/0043-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch new file mode 100644 index 0000000000..c8022581d6 --- /dev/null +++ b/packages/linux/patches/rtlwifi/after-6.14/0043-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch @@ -0,0 +1,76 @@ +From 2031f4725fab8be5092d483281e92c9cb7a7bc68 Mon Sep 17 00:00:00 2001 +From: Bitterblue Smith +Date: Sun, 26 Jan 2025 16:04:21 +0200 +Subject: [PATCH 43/43] wifi: rtw88: Don't use static local variable in + rtw8821c_set_tx_power_index_by_rate + +Some users want to plug two identical USB devices at the same time. +This static variable could theoretically cause them to use incorrect +TX power values. + +Move the variable to the caller and pass a pointer to it to +rtw8821c_set_tx_power_index_by_rate(). + +Signed-off-by: Bitterblue Smith +Acked-by: Ping-Ke Shih +Signed-off-by: Ping-Ke Shih +Link: https://patch.msgid.link/fe42858c-9b9f-4f03-9aaa-737472c2cd90@gmail.com +--- + drivers/net/wireless/realtek/rtw88/rtw8821c.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/drivers/net/wireless/realtek/rtw88/rtw8821c.c +index eb7e34c545d0..cc152248407c 100644 +--- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c ++++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c +@@ -680,11 +680,11 @@ static void query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status, + } + + static void +-rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs) ++rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, ++ u8 rs, u32 *phy_pwr_idx) + { + struct rtw_hal *hal = &rtwdev->hal; + static const u32 offset_txagc[2] = {0x1d00, 0x1d80}; +- static u32 phy_pwr_idx; + u8 rate, rate_idx, pwr_index, shift; + int j; + +@@ -692,12 +692,12 @@ rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs) + rate = rtw_rate_section[rs][j]; + pwr_index = hal->tx_pwr_tbl[path][rate]; + shift = rate & 0x3; +- phy_pwr_idx |= ((u32)pwr_index << (shift * 8)); ++ *phy_pwr_idx |= ((u32)pwr_index << (shift * 8)); + if (shift == 0x3 || rate == DESC_RATEVHT1SS_MCS9) { + rate_idx = rate & 0xfc; + rtw_write32(rtwdev, offset_txagc[path] + rate_idx, +- phy_pwr_idx); +- phy_pwr_idx = 0; ++ *phy_pwr_idx); ++ *phy_pwr_idx = 0; + } + } + } +@@ -705,6 +705,7 @@ rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs) + static void rtw8821c_set_tx_power_index(struct rtw_dev *rtwdev) + { + struct rtw_hal *hal = &rtwdev->hal; ++ u32 phy_pwr_idx = 0; + int rs, path; + + for (path = 0; path < hal->rf_path_num; path++) { +@@ -712,7 +713,8 @@ static void rtw8821c_set_tx_power_index(struct rtw_dev *rtwdev) + if (rs == RTW_RATE_SECTION_HT_2S || + rs == RTW_RATE_SECTION_VHT_2S) + continue; +- rtw8821c_set_tx_power_index_by_rate(rtwdev, path, rs); ++ rtw8821c_set_tx_power_index_by_rate(rtwdev, path, rs, ++ &phy_pwr_idx); + } + } + } +-- +2.43.0 + diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index 4e5d58a05c..b96b00bd4c 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="bcm2835-bootloader" -PKG_VERSION="b543406ce066d3fcaa03078511bc47e62ad0bbec" -PKG_SHA256="0e696f4b8a78ca8826c5fea3ffafd9189d32308d964bc45f890371db526f094e" +PKG_VERSION="9995946dce284505d3dd46c7563d74a691f38a70" +PKG_SHA256="b85fd1c08308f8d6d66c82e6c8deb533291028b9c3f7d85092a6ed208db4920c" PKG_ARCH="arm aarch64" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com" diff --git a/projects/Allwinner/linux/linux.aarch64.conf b/projects/Allwinner/linux/linux.aarch64.conf index ea55e6fa50..c739067907 100644 --- a/projects/Allwinner/linux/linux.aarch64.conf +++ b/projects/Allwinner/linux/linux.aarch64.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.10 Kernel Configuration +# Linux/arm64 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6516,7 +6516,6 @@ CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_IRQ_MSI_LIB=y # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set CONFIG_SUN6I_R_INTC=y CONFIG_SUNXI_NMI_INTC=y # CONFIG_XILINX_INTC is not set diff --git a/projects/Allwinner/linux/linux.arm.conf b/projects/Allwinner/linux/linux.arm.conf index bbc322c86c..ea231f5f93 100644 --- a/projects/Allwinner/linux/linux.arm.conf +++ b/projects/Allwinner/linux/linux.arm.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 6.12.10 Kernel Configuration +# Linux/arm 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="armv7ve-libreelec-linux-gnueabihf-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6057,7 +6057,6 @@ CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set CONFIG_SUN6I_R_INTC=y CONFIG_SUNXI_NMI_INTC=y # CONFIG_XILINX_INTC is not set diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index 2fe862d67c..2b390ac9d0 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.12.10 Kernel Configuration +# Linux/x86 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="x86_64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6432,7 +6432,6 @@ CONFIG_IRQ_REMAP=y # # IRQ chip support # -# CONFIG_LAN966X_OIC is not set # end of IRQ chip support # CONFIG_IPACK_BUS is not set diff --git a/projects/Generic/patches/linux/0001-x86-boot-Use-std-gnu11-to-fix-build-with-GCC-15.patch b/projects/Generic/patches/linux/0001-x86-boot-Use-std-gnu11-to-fix-build-with-GCC-15.patch deleted file mode 100644 index 8b874fff84..0000000000 --- a/projects/Generic/patches/linux/0001-x86-boot-Use-std-gnu11-to-fix-build-with-GCC-15.patch +++ /dev/null @@ -1,52 +0,0 @@ -From d958328c685e36d47032960ee7f706120b280ee4 Mon Sep 17 00:00:00 2001 -From: Nathan Chancellor -Date: Tue, 21 Jan 2025 18:11:33 -0700 -Subject: [PATCH 1/2] x86/boot: Use '-std=gnu11' to fix build with GCC 15 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC 15 changed the default C standard version to C23, which should not -have impacted the kernel because it requests the gnu11 standard via -'-std=' in the main Makefile. However, the x86 compressed boot Makefile -uses its own set of KBUILD_CFLAGS without a '-std=' value (i.e., using -the default), resulting in errors from the kernel's definitions of bool, -true, and false in stddef.h, which are reserved keywords under C23. - - ./include/linux/stddef.h:11:9: error: expected identifier before ‘false’ - 11 | false = 0, - ./include/linux/types.h:35:33: error: two or more data types in declaration specifiers - 35 | typedef _Bool bool; - -Set '-std=gnu11' in the x86 compressed boot Makefile to resolve the -error and consistently use the same C standard version for the entire -kernel. - -Closes: https://lore.kernel.org/4OAhbllK7x4QJGpZjkYjtBYNLd_2whHx9oFiuZcGwtVR4hIzvduultkgfAIRZI3vQpZylu7Gl929HaYFRGeMEalWCpeMzCIIhLxxRhq4U-Y=@protonmail.com/ -Closes: https://lore.kernel.org/Z4467umXR2PZ0M1H@tucnak/ -Reported-by: Kostadin Shishmanov -Reported-by: Jakub Jelinek -Signed-off-by: Nathan Chancellor -Signed-off-by: Dave Hansen -Reviewed-by: Ard Biesheuvel -Cc:stable@vger.kernel.org -Link: https://lore.kernel.org/all/20250121-x86-use-std-consistently-gcc-15-v1-1-8ab0acf645cb%40kernel.org ---- - arch/x86/boot/compressed/Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile -index f2051644de94..606c74f27459 100644 ---- a/arch/x86/boot/compressed/Makefile -+++ b/arch/x86/boot/compressed/Makefile -@@ -25,6 +25,7 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \ - # avoid errors with '-march=i386', and future flags may depend on the target to - # be valid. - KBUILD_CFLAGS := -m$(BITS) -O2 $(CLANG_FLAGS) -+KBUILD_CFLAGS += -std=gnu11 - KBUILD_CFLAGS += -fno-strict-aliasing -fPIE - KBUILD_CFLAGS += -Wundef - KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING --- -2.43.0 - diff --git a/projects/Generic/patches/linux/0002-efi-libstub-Use-std-gnu11-to-fix-build-with-GCC-15.patch b/projects/Generic/patches/linux/0002-efi-libstub-Use-std-gnu11-to-fix-build-with-GCC-15.patch deleted file mode 100644 index dbfaed9805..0000000000 --- a/projects/Generic/patches/linux/0002-efi-libstub-Use-std-gnu11-to-fix-build-with-GCC-15.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0c157e7a64470c450f6032fcfe7720568fb1b237 Mon Sep 17 00:00:00 2001 -From: Nathan Chancellor -Date: Tue, 21 Jan 2025 18:11:34 -0700 -Subject: [PATCH 2/2] efi: libstub: Use '-std=gnu11' to fix build with GCC 15 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC 15 changed the default C standard version to C23, which should not -have impacted the kernel because it requests the gnu11 standard via -'-std=' in the main Makefile. However, the EFI libstub Makefile uses its -own set of KBUILD_CFLAGS for x86 without a '-std=' value (i.e., using -the default), resulting in errors from the kernel's definitions of bool, -true, and false in stddef.h, which are reserved keywords under C23. - - ./include/linux/stddef.h:11:9: error: expected identifier before ‘false’ - 11 | false = 0, - ./include/linux/types.h:35:33: error: two or more data types in declaration specifiers - 35 | typedef _Bool bool; - -Set '-std=gnu11' in the x86 cflags to resolve the error and consistently -use the same C standard version for the entire kernel. All other -architectures reuse KBUILD_CFLAGS from the rest of the kernel, so this -issue is not visible for them. - -Cc: stable@vger.kernel.org -Reported-by: Kostadin Shishmanov -Closes: https://lore.kernel.org/4OAhbllK7x4QJGpZjkYjtBYNLd_2whHx9oFiuZcGwtVR4hIzvduultkgfAIRZI3vQpZylu7Gl929HaYFRGeMEalWCpeMzCIIhLxxRhq4U-Y=@protonmail.com/ -Reported-by: Jakub Jelinek -Closes: https://lore.kernel.org/Z4467umXR2PZ0M1H@tucnak/ -Signed-off-by: Nathan Chancellor -Signed-off-by: Ard Biesheuvel ---- - drivers/firmware/efi/libstub/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile -index ed4e8ddbe76a..1141cd06011f 100644 ---- a/drivers/firmware/efi/libstub/Makefile -+++ b/drivers/firmware/efi/libstub/Makefile -@@ -11,7 +11,7 @@ cflags-y := $(KBUILD_CFLAGS) - - cflags-$(CONFIG_X86_32) := -march=i386 - cflags-$(CONFIG_X86_64) := -mcmodel=small --cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ \ -+cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -std=gnu11 \ - -fPIC -fno-strict-aliasing -mno-red-zone \ - -mno-mmx -mno-sse -fshort-wchar \ - -Wno-pointer-sign \ --- -2.43.0 - diff --git a/projects/NXP/devices/iMX6/linux/linux.arm.conf b/projects/NXP/devices/iMX6/linux/linux.arm.conf index 450526133a..dba44e4354 100644 --- a/projects/NXP/devices/iMX6/linux/linux.arm.conf +++ b/projects/NXP/devices/iMX6/linux/linux.arm.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 6.12.7 Kernel Configuration +# Linux/arm 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="armv7a-libreelec-linux-gnueabihf-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6867,7 +6867,6 @@ CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_IMX_IRQSTEER=y CONFIG_IMX_INTMUX=y @@ -7159,6 +7158,7 @@ CONFIG_NFS_V4=y # CONFIG_NFS_SWAP is not set # CONFIG_NFS_V4_1 is not set CONFIG_ROOT_NFS=y +# CONFIG_NFS_FSCACHE is not set # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFS_DISABLE_UDP_SUPPORT=y diff --git a/projects/NXP/devices/iMX8/linux/linux.aarch64.conf b/projects/NXP/devices/iMX8/linux/linux.aarch64.conf index feb315b252..38bec9514a 100644 --- a/projects/NXP/devices/iMX8/linux/linux.aarch64.conf +++ b/projects/NXP/devices/iMX8/linux/linux.aarch64.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.7 Kernel Configuration +# Linux/arm64 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6740,7 +6740,6 @@ CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_IRQ_MSI_LIB=y # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_IMX_GPCV2=y CONFIG_PARTITION_PERCPU=y @@ -7053,6 +7052,7 @@ CONFIG_PNFS_FLEXFILE_LAYOUT=y CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" CONFIG_NFS_V4_1_MIGRATION=y CONFIG_ROOT_NFS=y +# CONFIG_NFS_FSCACHE is not set # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFS_DISABLE_UDP_SUPPORT=y diff --git a/projects/Qualcomm/devices/Dragonboard/linux/linux.aarch64.conf b/projects/Qualcomm/devices/Dragonboard/linux/linux.aarch64.conf index a290d76e18..2a4f3eb54f 100644 --- a/projects/Qualcomm/devices/Dragonboard/linux/linux.aarch64.conf +++ b/projects/Qualcomm/devices/Dragonboard/linux/linux.aarch64.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.10 Kernel Configuration +# Linux/arm64 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6768,7 +6768,6 @@ CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_IRQ_MSI_LIB=y # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_PARTITION_PERCPU=y # CONFIG_QCOM_IRQ_COMBINER is not set @@ -7091,6 +7090,7 @@ CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" # CONFIG_NFS_V4_1_MIGRATION is not set CONFIG_NFS_V4_SECURITY_LABEL=y CONFIG_ROOT_NFS=y +# CONFIG_NFS_FSCACHE is not set # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFS_DISABLE_UDP_SUPPORT=y diff --git a/projects/RPi/devices/RPi/linux/linux.arm.conf b/projects/RPi/devices/RPi/linux/linux.arm.conf index 3b5f5a87c1..c4d52daac7 100644 --- a/projects/RPi/devices/RPi/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 6.12.9 Kernel Configuration +# Linux/arm 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="arm-linux-gnueabihf-gcc (GCC) 13.0.0 20220604 (experimental) [master revision aec868578d8515763d75693c1fdfbc30ff0a1e68]" CONFIG_CC_IS_GCC=y @@ -5306,7 +5306,6 @@ CONFIG_PWM_RASPBERRYPI_POE=m CONFIG_IRQCHIP=y # CONFIG_AL_FIC is not set CONFIG_BRCMSTB_L2_IRQ=y -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set # end of IRQ chip support diff --git a/projects/RPi/devices/RPi2/linux/linux.arm.conf b/projects/RPi/devices/RPi2/linux/linux.arm.conf index 971c2bac0b..a19aca015c 100644 --- a/projects/RPi/devices/RPi2/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi2/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 6.12.9 Kernel Configuration +# Linux/arm 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="arm-linux-gnueabihf-gcc (GCC) 13.0.0 20220604 (experimental) [master revision aec868578d8515763d75693c1fdfbc30ff0a1e68]" CONFIG_CC_IS_GCC=y @@ -5552,7 +5552,6 @@ CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_AL_FIC is not set # CONFIG_BCM2712_MIP is not set CONFIG_BRCMSTB_L2_IRQ=y -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set # end of IRQ chip support diff --git a/projects/RPi/devices/RPi4/linux/linux.aarch64.conf b/projects/RPi/devices/RPi4/linux/linux.aarch64.conf index 3c57deb793..5834de8f79 100644 --- a/projects/RPi/devices/RPi4/linux/linux.aarch64.conf +++ b/projects/RPi/devices/RPi4/linux/linux.aarch64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.9 Kernel Configuration +# Linux/arm64 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (GCC) 13.0.0 20220604 (experimental) [master revision aec868578d8515763d75693c1fdfbc30ff0a1e68]" CONFIG_CC_IS_GCC=y @@ -6340,7 +6340,6 @@ CONFIG_IRQ_MSI_LIB=y # CONFIG_AL_FIC is not set # CONFIG_BCM2712_MIP is not set CONFIG_BRCMSTB_L2_IRQ=y -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_PARTITION_PERCPU=y # end of IRQ chip support diff --git a/projects/RPi/devices/RPi5/linux/linux.aarch64.conf b/projects/RPi/devices/RPi5/linux/linux.aarch64.conf index 86643d6c91..5a8604449f 100644 --- a/projects/RPi/devices/RPi5/linux/linux.aarch64.conf +++ b/projects/RPi/devices/RPi5/linux/linux.aarch64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.9 Kernel Configuration +# Linux/arm64 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (GCC) 13.0.0 20220604 (experimental) [master revision aec868578d8515763d75693c1fdfbc30ff0a1e68]" CONFIG_CC_IS_GCC=y @@ -6410,7 +6410,6 @@ CONFIG_BCM2712_MIP=y CONFIG_BCM7038_L1_IRQ=y CONFIG_BCM7120_L2_IRQ=y CONFIG_BRCMSTB_L2_IRQ=y -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_PARTITION_PERCPU=y # end of IRQ chip support diff --git a/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf b/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf index ca0da9e848..545e6f7451 100644 --- a/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf +++ b/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 6.12.10 Kernel Configuration +# Linux/arm 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="armv7ve-libreelec-linux-gnueabihf-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6394,7 +6394,6 @@ CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set # end of IRQ chip support diff --git a/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf b/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf index 6a6ef7943f..81e4b54897 100644 --- a/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.10 Kernel Configuration +# Linux/arm64 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -6260,7 +6260,6 @@ CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_IRQ_MSI_LIB=y # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_PARTITION_PERCPU=y # end of IRQ chip support diff --git a/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf b/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf index e619e8d616..34287ac190 100644 --- a/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.12.10 Kernel Configuration +# Linux/arm64 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -7067,7 +7067,6 @@ CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_IRQ_MSI_LIB=y # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_PARTITION_PERCPU=y # end of IRQ chip support diff --git a/projects/Samsung/linux/linux.arm.conf b/projects/Samsung/linux/linux.arm.conf index cf1c767b65..ad2a7e6444 100644 --- a/projects/Samsung/linux/linux.arm.conf +++ b/projects/Samsung/linux/linux.arm.conf @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 6.12.10 Kernel Configuration +# Linux/arm 6.12.14 Kernel Configuration # CONFIG_CC_VERSION_TEXT="armv7ve-libreelec-linux-gnueabihf-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=140200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24301 +CONFIG_AS_VERSION=24400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24301 +CONFIG_LD_VERSION=24400 CONFIG_LLD_VERSION=0 CONFIG_RUSTC_VERSION=0 CONFIG_RUSTC_LLVM_VERSION=0 @@ -5788,7 +5788,6 @@ CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_AL_FIC is not set -# CONFIG_LAN966X_OIC is not set # CONFIG_XILINX_INTC is not set CONFIG_EXYNOS_IRQ_COMBINER=y # end of IRQ chip support