mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
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>
This commit is contained in:
parent
b870844cd0
commit
cc18433094
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 /* */
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user