[ Sasha's backport helper bot ]
Hi,
Summary of potential issues: ⚠️ Found follow-up fixes in mainline
The upstream commit SHA1 provided is correct: cc7ad0d77b51c872d629bcd98aea463a3c4109e7
WARNING: Author mismatch between patch and upstream commit: Backport author: Feng LiuFeng.Liu3@windriver.com Commit author: Duoming Zhouduoming@zju.edu.cn
Status in newer kernel trees: 6.14.y | Present (exact SHA1) 6.13.y | Present (exact SHA1) 6.12.y | Present (exact SHA1) 6.6.y | Present (exact SHA1) 6.1.y | Present (exact SHA1) 5.15.y | Present (different SHA1: f89f6c3ebf69)
Found fixes commits: 3f467036093f drivers: staging: rtl8723bs: Fix locking in rtw_scan_timeout_handler()
Note: The patch differs from the upstream commit: --- 1: cc7ad0d77b51c ! 1: 6fa69b9b220a6 drivers: staging: rtl8723bs: Fix deadlock in rtw_surveydone_event_callback() @@ Metadata ## Commit message ## drivers: staging: rtl8723bs: Fix deadlock in rtw_surveydone_event_callback()
+ [ Upstream commit cc7ad0d77b51c872d629bcd98aea463a3c4109e7 ] + There is a deadlock in rtw_surveydone_event_callback(), which is shown below:
@@ Commit message Signed-off-by: Duoming Zhou duoming@zju.edu.cn Link: https://lore.kernel.org/r/20220409061836.60529-1-duoming@zju.edu.cn Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org + [Minor context change fixed] + Signed-off-by: Feng Liu Feng.Liu3@windriver.com + Signed-off-by: He Zhe Zhe.He@windriver.com
## drivers/staging/rtl8723bs/core/rtw_mlme.c ## @@ drivers/staging/rtl8723bs/core/rtw_mlme.c: void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf) - } + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_surveydone_event_callback: fw_state:%x\n\n", get_fwstate(pmlmepriv)));
if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) { + spin_unlock_bh(&pmlmepriv->lock); del_timer_sync(&pmlmepriv->scan_to_timer); + spin_lock_bh(&pmlmepriv->lock); _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY); - } + } else {
@@ drivers/staging/rtl8723bs/core/rtw_mlme.c: void rtw_scan_timeout_handler(struct timer_list *t) - mlmepriv.scan_to_timer); - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + + DBG_871X(FUNC_ADPT_FMT" fw_state =%x\n", FUNC_ADPT_ARG(adapter), get_fwstate(pmlmepriv));
- spin_lock_bh(&pmlmepriv->lock); + spin_lock_irq(&pmlmepriv->lock); ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-5.10.y | Success | Success |