]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
staging: rtl8723bs: propagate errno through xmit enqueue path
authorHungyu Lin <dennylin0707@gmail.com>
Thu, 14 May 2026 10:07:07 +0000 (10:07 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 May 2026 10:39:51 +0000 (12:39 +0200)
Propagate errno values from rtw_xmit_classifier() through
rtw_xmitframe_enqueue(), and update the local enqueue caller
to check for non-zero return values.

Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
Link: https://patch.msgid.link/20260514100708.25031-5-dennylin0707@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8723bs/core/rtw_xmit.c
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
drivers/staging/rtl8723bs/include/rtw_xmit.h

index 46ee8f43064adcdde675b682fc6442ed28161346..444966c0de7f3830cd45ebc28b9d5f116437a477 100644 (file)
@@ -1848,15 +1848,15 @@ static int rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmi
        return 0;
 }
 
-s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
+int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
 {
        int res;
 
        res = rtw_xmit_classifier(padapter, pxmitframe);
        if (res)
-               return _FAIL;
+               return res;
 
-       return _SUCCESS;
+       return 0;
 }
 
 struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac)
index c75bff728483fb19681be35852ab0b04be46d9ae..f4f3632f0646d8e9876ef916679a6746cf5c21af 100644 (file)
@@ -458,8 +458,8 @@ s32 rtl8723bs_mgnt_xmit(
  *Handle xmitframe(packet) come from rtw_xmit()
  *
  * Return:
- *true dump packet directly ok
- *false        enqueue, temporary can't transmit packets to hardware
+ * true      dump packet directly ok
+ * false     enqueue, temporary can't transmit packets to hardware
  */
 s32 rtl8723bs_hal_xmit(
        struct adapter *padapter, struct xmit_frame *pxmitframe
@@ -484,7 +484,7 @@ s32 rtl8723bs_hal_xmit(
        spin_lock_bh(&pxmitpriv->lock);
        err = rtw_xmitframe_enqueue(padapter, pxmitframe);
        spin_unlock_bh(&pxmitpriv->lock);
-       if (err != _SUCCESS) {
+       if (err) {
                rtw_free_xmitframe(pxmitpriv, pxmitframe);
 
                pxmitpriv->tx_drop++;
@@ -504,7 +504,7 @@ s32 rtl8723bs_hal_xmitframe_enqueue(
        s32 err;
 
        err = rtw_xmitframe_enqueue(padapter, pxmitframe);
-       if (err != _SUCCESS) {
+       if (err) {
                rtw_free_xmitframe(pxmitpriv, pxmitframe);
 
                pxmitpriv->tx_drop++;
@@ -512,7 +512,7 @@ s32 rtl8723bs_hal_xmitframe_enqueue(
                complete(&pxmitpriv->SdioXmitStart);
        }
 
-       return err;
+       return err ? _FAIL : _SUCCESS;
 
 }
 
index 01c0f85a50f15903d7bc13a5fed052689ee846e9..f67cb22e3396f876dbc67d9f521331e7c7553e70 100644 (file)
@@ -419,7 +419,7 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv);
 extern s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe);
 extern void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue);
 struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac);
-extern s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
+int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
 
 extern u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib);
 #define rtw_wlan_pkt_size(f) rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib)