From db9beaca28c7e02d0ca363fa2f0dd511c16b791e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 7 Jun 2023 22:07:15 +0200 Subject: [PATCH] 4.14-stable patches added patches: wifi-rtlwifi-8192de-correct-checking-of-iqk-reload.patch --- queue-4.14/series | 1 + ...192de-correct-checking-of-iqk-reload.patch | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 queue-4.14/wifi-rtlwifi-8192de-correct-checking-of-iqk-reload.patch diff --git a/queue-4.14/series b/queue-4.14/series index ca18d84f471..69e87ca3839 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -58,3 +58,4 @@ cdc_ncm-implement-the-32-bit-version-of-ncm-transfer-block.patch cdc_ncm-fix-the-build-warning.patch net-cdc_ncm-deal-with-too-low-values-of-dwntboutmaxsize.patch fix-double-fget-in-vhost_net_set_backend.patch +wifi-rtlwifi-8192de-correct-checking-of-iqk-reload.patch diff --git a/queue-4.14/wifi-rtlwifi-8192de-correct-checking-of-iqk-reload.patch b/queue-4.14/wifi-rtlwifi-8192de-correct-checking-of-iqk-reload.patch new file mode 100644 index 00000000000..396adbe5a11 --- /dev/null +++ b/queue-4.14/wifi-rtlwifi-8192de-correct-checking-of-iqk-reload.patch @@ -0,0 +1,47 @@ +From 93fbc1ebd978cf408ef5765e9c1630fce9a8621b Mon Sep 17 00:00:00 2001 +From: Ping-Ke Shih +Date: Mon, 1 Aug 2022 19:33:45 +0800 +Subject: wifi: rtlwifi: 8192de: correct checking of IQK reload + +From: Ping-Ke Shih + +commit 93fbc1ebd978cf408ef5765e9c1630fce9a8621b upstream. + +Since IQK could spend time, we make a cache of IQK result matrix that looks +like iqk_matrix[channel_idx].val[x][y], and we can reload the matrix if we +have made a cache. To determine a cache is made, we check +iqk_matrix[channel_idx].val[0][0]. + +The initial commit 7274a8c22980 ("rtlwifi: rtl8192de: Merge phy routines") +make a mistake that checks incorrect iqk_matrix[channel_idx].val[0] that +is always true, and this mistake is found by commit ee3db469dd31 +("wifi: rtlwifi: remove always-true condition pointed out by GCC 12"), so +I recall the vendor driver to find fix and apply the correctness. + +Fixes: 7274a8c22980 ("rtlwifi: rtl8192de: Merge phy routines") +Signed-off-by: Ping-Ke Shih +Signed-off-by: Kalle Valo +Link: https://lore.kernel.org/r/20220801113345.42016-1-pkshih@realtek.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c ++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c +@@ -2414,11 +2414,10 @@ void rtl92d_phy_reload_iqk_setting(struc + RT_TRACE(rtlpriv, COMP_SCAN, DBG_LOUD, + "Just Read IQK Matrix reg for channel:%d....\n", + channel); +- _rtl92d_phy_patha_fill_iqk_matrix(hw, true, +- rtlphy->iqk_matrix[ +- indexforchannel].value, 0, +- (rtlphy->iqk_matrix[ +- indexforchannel].value[0][2] == 0)); ++ if (rtlphy->iqk_matrix[indexforchannel].value[0][0] != 0) ++ _rtl92d_phy_patha_fill_iqk_matrix(hw, true, ++ rtlphy->iqk_matrix[indexforchannel].value, 0, ++ rtlphy->iqk_matrix[indexforchannel].value[0][2] == 0); + if (IS_92D_SINGLEPHY(rtlhal->version)) { + if ((rtlphy->iqk_matrix[ + indexforchannel].value[0][4] != 0) -- 2.47.3