Skip to content

Commit cc18433

Browse files
mistraubegregkh
authored andcommitted
staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c
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>
1 parent b870844 commit cc18433

3 files changed

Lines changed: 47 additions & 47 deletions

File tree

drivers/staging/rtl8723bs/core/rtw_recv.c

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1662,6 +1662,53 @@ static struct sk_buff *rtw_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubfra
16621662
return sub_skb;
16631663
}
16641664

1665+
static void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
1666+
{
1667+
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
1668+
1669+
/* Indicate the packets to upper layer */
1670+
if (pkt) {
1671+
if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) {
1672+
struct sk_buff *pskb2 = NULL;
1673+
struct sta_info *psta = NULL;
1674+
struct sta_priv *pstapriv = &padapter->stapriv;
1675+
int bmcast = is_multicast_ether_addr(pattrib->dst);
1676+
1677+
if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), ETH_ALEN)) {
1678+
if (bmcast) {
1679+
psta = rtw_get_bcmc_stainfo(padapter);
1680+
pskb2 = skb_clone(pkt, GFP_ATOMIC);
1681+
} else {
1682+
psta = rtw_get_stainfo(pstapriv, pattrib->dst);
1683+
}
1684+
1685+
if (psta) {
1686+
struct net_device *pnetdev = (struct net_device *)padapter->pnetdev;
1687+
/* skb->ip_summed = CHECKSUM_NONE; */
1688+
pkt->dev = pnetdev;
1689+
skb_set_queue_mapping(pkt, rtw_recv_select_queue(pkt));
1690+
1691+
_rtw_xmit_entry(pkt, pnetdev);
1692+
1693+
if (bmcast && pskb2)
1694+
pkt = pskb2;
1695+
else
1696+
return;
1697+
}
1698+
} else {
1699+
/* to APself */
1700+
}
1701+
}
1702+
1703+
pkt->protocol = eth_type_trans(pkt, padapter->pnetdev);
1704+
pkt->dev = padapter->pnetdev;
1705+
1706+
pkt->ip_summed = CHECKSUM_NONE;
1707+
1708+
rtw_netif_rx(padapter->pnetdev, pkt);
1709+
}
1710+
}
1711+
16651712
static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
16661713
{
16671714
int a_len, padding_len;

drivers/staging/rtl8723bs/include/recv_osdep.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,4 @@ extern void rtw_recv_returnpacket(struct net_device *cnxt, struct sk_buff *pretu
1818
int rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
1919
void rtw_free_recv_priv(struct recv_priv *precvpriv);
2020

21-
void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib);
22-
2321
#endif /* */

drivers/staging/rtl8723bs/os_dep/recv_linux.c

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -9,49 +9,4 @@
99
#include <net/cfg80211.h>
1010
#include <linux/unaligned.h>
1111

12-
void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
13-
{
14-
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
1512

16-
/* Indicate the packets to upper layer */
17-
if (pkt) {
18-
if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) {
19-
struct sk_buff *pskb2 = NULL;
20-
struct sta_info *psta = NULL;
21-
struct sta_priv *pstapriv = &padapter->stapriv;
22-
int bmcast = is_multicast_ether_addr(pattrib->dst);
23-
24-
if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), ETH_ALEN)) {
25-
if (bmcast) {
26-
psta = rtw_get_bcmc_stainfo(padapter);
27-
pskb2 = skb_clone(pkt, GFP_ATOMIC);
28-
} else {
29-
psta = rtw_get_stainfo(pstapriv, pattrib->dst);
30-
}
31-
32-
if (psta) {
33-
struct net_device *pnetdev = (struct net_device *)padapter->pnetdev;
34-
/* skb->ip_summed = CHECKSUM_NONE; */
35-
pkt->dev = pnetdev;
36-
skb_set_queue_mapping(pkt, rtw_recv_select_queue(pkt));
37-
38-
_rtw_xmit_entry(pkt, pnetdev);
39-
40-
if (bmcast && pskb2)
41-
pkt = pskb2;
42-
else
43-
return;
44-
}
45-
} else {
46-
/* to APself */
47-
}
48-
}
49-
50-
pkt->protocol = eth_type_trans(pkt, padapter->pnetdev);
51-
pkt->dev = padapter->pnetdev;
52-
53-
pkt->ip_summed = CHECKSUM_NONE;
54-
55-
rtw_netif_rx(padapter->pnetdev, pkt);
56-
}
57-
}

0 commit comments

Comments
 (0)