diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 8b97790ef0..d639e6b421 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_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_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/0029-wifi-rtw88-add-__packed-attribute-to-efuse-layout-st.patch b/packages/linux/patches/rtlwifi/6.14/0029-wifi-rtw88-add-__packed-attribute-to-efuse-layout-st.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0029-wifi-rtw88-add-__packed-attribute-to-efuse-layout-st.patch rename to packages/linux/patches/rtlwifi/6.14/0029-wifi-rtw88-add-__packed-attribute-to-efuse-layout-st.patch diff --git a/packages/linux/patches/rtlwifi/after-6.13/0030-wifi-rtlwifi-rtl8821ae-Fix-media-status-report.patch b/packages/linux/patches/rtlwifi/6.14/0030-wifi-rtlwifi-rtl8821ae-Fix-media-status-report.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0030-wifi-rtlwifi-rtl8821ae-Fix-media-status-report.patch rename to packages/linux/patches/rtlwifi/6.14/0030-wifi-rtlwifi-rtl8821ae-Fix-media-status-report.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/0039-wifi-rtw88-8703b-Fix-RX-TX-issues.patch b/packages/linux/patches/rtlwifi/6.14/0039-wifi-rtw88-8703b-Fix-RX-TX-issues.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0039-wifi-rtw88-8703b-Fix-RX-TX-issues.patch rename to packages/linux/patches/rtlwifi/6.14/0039-wifi-rtw88-8703b-Fix-RX-TX-issues.patch 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/6.14/0040-wifi-rtw88-sdio-Fix-disconnection-after-beacon-loss.patch similarity index 100% rename from packages/linux/patches/rtlwifi/after-6.13/0040-wifi-rtw88-sdio-Fix-disconnection-after-beacon-loss.patch rename to packages/linux/patches/rtlwifi/6.14/0040-wifi-rtw88-sdio-Fix-disconnection-after-beacon-loss.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.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 +