]> www.infradead.org Git - users/hch/misc.git/commitdiff
staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c
authorMichael Straube <straube.linux@gmail.com>
Fri, 22 Aug 2025 13:54:15 +0000 (15:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Sep 2025 13:55:12 +0000 (15:55 +0200)
Move the function rtw_os_recv_indicate_pkt from os_dep/recv_linux.c to
core/rtw_recv.c to reduce code in the os_dep directory.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Link: https://lore.kernel.org/r/20250822135418.118115-11-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8723bs/core/rtw_recv.c
drivers/staging/rtl8723bs/include/recv_osdep.h
drivers/staging/rtl8723bs/os_dep/recv_linux.c

index a8b388822719f286186b7ae842a719bf85518e08..924a0c415a1ef0ff442000d2bdc96ee6f62916e0 100644 (file)
@@ -1662,6 +1662,53 @@ static struct sk_buff *rtw_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubfra
        return sub_skb;
 }
 
+static void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
+{
+       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+
+       /* Indicate the packets to upper layer */
+       if (pkt) {
+               if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) {
+                       struct sk_buff *pskb2 = NULL;
+                       struct sta_info *psta = NULL;
+                       struct sta_priv *pstapriv = &padapter->stapriv;
+                       int bmcast = is_multicast_ether_addr(pattrib->dst);
+
+                       if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), ETH_ALEN)) {
+                               if (bmcast) {
+                                       psta = rtw_get_bcmc_stainfo(padapter);
+                                       pskb2 = skb_clone(pkt, GFP_ATOMIC);
+                               } else {
+                                       psta = rtw_get_stainfo(pstapriv, pattrib->dst);
+                               }
+
+                               if (psta) {
+                                       struct net_device *pnetdev = (struct net_device *)padapter->pnetdev;
+                                       /* skb->ip_summed = CHECKSUM_NONE; */
+                                       pkt->dev = pnetdev;
+                                       skb_set_queue_mapping(pkt, rtw_recv_select_queue(pkt));
+
+                                       _rtw_xmit_entry(pkt, pnetdev);
+
+                                       if (bmcast && pskb2)
+                                               pkt = pskb2;
+                                       else
+                                               return;
+                               }
+                       } else {
+                               /*  to APself */
+                       }
+               }
+
+               pkt->protocol = eth_type_trans(pkt, padapter->pnetdev);
+               pkt->dev = padapter->pnetdev;
+
+               pkt->ip_summed = CHECKSUM_NONE;
+
+               rtw_netif_rx(padapter->pnetdev, pkt);
+       }
+}
+
 static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
 {
        int     a_len, padding_len;
index 1e332ea6320775f659300a7a5f63d199bcc8215f..20ce25132700a96c46fbc5f203a8e1e2e427b49d 100644 (file)
@@ -18,6 +18,4 @@ extern void rtw_recv_returnpacket(struct net_device *cnxt, struct sk_buff *pretu
 int    rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
 void rtw_free_recv_priv(struct recv_priv *precvpriv);
 
-void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib);
-
 #endif /*  */
index 4d3a42f6f9ad694e5b7254a0e60bfd278e7f694b..193725cc60bc19888088a439ff4af371d113a243 100644 (file)
@@ -9,49 +9,4 @@
 #include <net/cfg80211.h>
 #include <linux/unaligned.h>
 
-void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
-{
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
 
-       /* Indicate the packets to upper layer */
-       if (pkt) {
-               if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) {
-                       struct sk_buff *pskb2 = NULL;
-                       struct sta_info *psta = NULL;
-                       struct sta_priv *pstapriv = &padapter->stapriv;
-                       int bmcast = is_multicast_ether_addr(pattrib->dst);
-
-                       if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), ETH_ALEN)) {
-                               if (bmcast) {
-                                       psta = rtw_get_bcmc_stainfo(padapter);
-                                       pskb2 = skb_clone(pkt, GFP_ATOMIC);
-                               } else {
-                                       psta = rtw_get_stainfo(pstapriv, pattrib->dst);
-                               }
-
-                               if (psta) {
-                                       struct net_device *pnetdev = (struct net_device *)padapter->pnetdev;
-                                       /* skb->ip_summed = CHECKSUM_NONE; */
-                                       pkt->dev = pnetdev;
-                                       skb_set_queue_mapping(pkt, rtw_recv_select_queue(pkt));
-
-                                       _rtw_xmit_entry(pkt, pnetdev);
-
-                                       if (bmcast && pskb2)
-                                               pkt = pskb2;
-                                       else
-                                               return;
-                               }
-                       } else {
-                               /*  to APself */
-                       }
-               }
-
-               pkt->protocol = eth_type_trans(pkt, padapter->pnetdev);
-               pkt->dev = padapter->pnetdev;
-
-               pkt->ip_summed = CHECKSUM_NONE;
-
-               rtw_netif_rx(padapter->pnetdev, pkt);
-       }
-}