lkml.org 
[lkml]   [2022]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6.0 229/862] wifi: rtlwifi: 8192de: correct checking of IQK reload
    Date
    From: Ping-Ke Shih <pkshih@realtek.com>

    [ Upstream commit 93fbc1ebd978cf408ef5765e9c1630fce9a8621b ]

    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 <pkshih@realtek.com>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/20220801113345.42016-1-pkshih@realtek.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 9 ++++-----
    1 file changed, 4 insertions(+), 5 deletions(-)

    diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
    index 15e6a6aded31..d18c092b6142 100644
    --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
    +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
    @@ -2386,11 +2386,10 @@ void rtl92d_phy_reload_iqk_setting(struct ieee80211_hw *hw, u8 channel)
    rtl_dbg(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.35.1


    \
     
     \ /
      Last update: 2022-10-19 10:56    [W:5.513 / U:0.632 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site