* [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c
@ 2025-08-22 13:54 Michael Straube
2025-08-22 13:54 ` [PATCH 01/13] staging: rtl8723bs: remove wrapper rtw_init_recv_timer Michael Straube
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
This series moves/merges the functions/functionality of os_dep/recv_linux.c
into the corresponding parts of the driver in the core directory to reduce
"os dependent" code.
The patches have been compile-tested only due to lack of hardware.
Michael Straube (13):
staging: rtl8723bs: remove wrapper rtw_init_recv_timer
staging: rtl8723bs: move rtw_recv_indicatepkt to rtw_recv.c
staging: rtl8723bs: move rtw_handle_tkip_mic_err to rtw_recv.c
staging: rtl8723bs: merge rtw_os_free_recvframe into rtw_recv.c
staging: rtl8723bs: merge rtw_os_recv_resource_alloc into rtw_recv.c
staging: rtl8723bs: merge rtw_os_recv_resource_free into rtw_recv.c
staging: rtl8723bs: merge rtw_os_recvbuf_resource_free into
rtl8723bs_recv.c
staging: rtl8723bs: move rtw_os_alloc_msdu_pkt to rtw_recv.c
staging: rtl8723bs: rename rtw_os_alloc_msdu_pkt
staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c
staging: rtl8723bs: rename rtw_os_recv_indicate_pkt
staging: rtl8723bs: remove os_dep/recv_linux.c
staging: rtl8723bs: remove include/recv_osdep.h
drivers/staging/rtl8723bs/Makefile | 1 -
drivers/staging/rtl8723bs/core/rtw_recv.c | 194 ++++++++++++++-
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 4 +-
.../staging/rtl8723bs/hal/rtl8723bs_recv.c | 6 +-
drivers/staging/rtl8723bs/include/drv_types.h | 1 -
.../staging/rtl8723bs/include/recv_osdep.h | 40 ----
drivers/staging/rtl8723bs/include/rtw_recv.h | 4 +
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 225 ------------------
8 files changed, 199 insertions(+), 276 deletions(-)
delete mode 100644 drivers/staging/rtl8723bs/include/recv_osdep.h
delete mode 100644 drivers/staging/rtl8723bs/os_dep/recv_linux.c
--
2.51.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 01/13] staging: rtl8723bs: remove wrapper rtw_init_recv_timer
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 02/13] staging: rtl8723bs: move rtw_recv_indicatepkt to rtw_recv.c Michael Straube
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
The function rtw_init_recv_timer in os_dep/recv_linux.c is jsut a wrapper
around timer_setup. Use timer_setup directly and remove the wrapper to
reduce code in the os_dep directory.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 4 +++-
drivers/staging/rtl8723bs/include/recv_osdep.h | 3 ---
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 7 -------
3 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
index 4d51e6993ca2..d1f6030799cb 100644
--- a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
+++ b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
@@ -247,7 +247,9 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
INIT_LIST_HEAD(&preorder_ctrl->pending_recvframe_queue.queue);
spin_lock_init(&preorder_ctrl->pending_recvframe_queue.lock);
- rtw_init_recv_timer(preorder_ctrl);
+ /* init recv timer */
+ timer_setup(&preorder_ctrl->reordering_ctrl_timer,
+ rtw_reordering_ctrl_timeout_handler, 0);
}
/* init for DM */
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index 83330ea98fbf..ea0b58aa0ba0 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -34,7 +34,4 @@ void rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *pre
struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata);
void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib);
-void rtw_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl);
-
-
#endif /* */
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index 98d3e4777210..a507a29686bd 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -216,10 +216,3 @@ int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *precv_frame
return _FAIL;
}
-
-void rtw_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl)
-{
- timer_setup(&preorder_ctrl->reordering_ctrl_timer,
- rtw_reordering_ctrl_timeout_handler, 0);
-
-}
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 02/13] staging: rtl8723bs: move rtw_recv_indicatepkt to rtw_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
2025-08-22 13:54 ` [PATCH 01/13] staging: rtl8723bs: remove wrapper rtw_init_recv_timer Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 03/13] staging: rtl8723bs: move rtw_handle_tkip_mic_err " Michael Straube
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Move the function rtw_recv_indicatepkt 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>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 37 +++++++++++++++++++
.../staging/rtl8723bs/include/recv_osdep.h | 1 -
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 37 -------------------
3 files changed, 37 insertions(+), 38 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 8ae527b6e0d6..bc34cac8dabe 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1725,6 +1725,43 @@ static void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev
}
+static int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *precv_frame)
+{
+ struct recv_priv *precvpriv;
+ struct __queue *pfree_recv_queue;
+ struct sk_buff *skb;
+ struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
+
+ precvpriv = &(padapter->recvpriv);
+ pfree_recv_queue = &(precvpriv->free_recv_queue);
+
+ skb = precv_frame->u.hdr.pkt;
+ if (!skb)
+ goto _recv_indicatepkt_drop;
+
+ skb->data = precv_frame->u.hdr.rx_data;
+
+ skb_set_tail_pointer(skb, precv_frame->u.hdr.len);
+
+ skb->len = precv_frame->u.hdr.len;
+
+ rtw_os_recv_indicate_pkt(padapter, skb, pattrib);
+
+ /* pointers to NULL before rtw_free_recvframe() */
+ precv_frame->u.hdr.pkt = NULL;
+
+ rtw_free_recvframe(precv_frame, pfree_recv_queue);
+
+ return _SUCCESS;
+
+_recv_indicatepkt_drop:
+
+ /* enqueue back to free_recv_queue */
+ rtw_free_recvframe(precv_frame, pfree_recv_queue);
+
+ return _FAIL;
+}
+
static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced)
{
struct list_head *phead, *plist;
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index ea0b58aa0ba0..f31c87b21206 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -13,7 +13,6 @@ extern void _rtw_free_recv_priv(struct recv_priv *precvpriv);
extern s32 rtw_recv_entry(union recv_frame *precv_frame);
-extern int rtw_recv_indicatepkt(struct adapter *adapter, union recv_frame *precv_frame);
extern void rtw_recv_returnpacket(struct net_device *cnxt, struct sk_buff *preturnedpkt);
extern void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup);
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index a507a29686bd..ae396ccfd830 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -179,40 +179,3 @@ void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup)
memset(&wrqu, 0x00, sizeof(wrqu));
wrqu.data.length = sizeof(ev);
}
-
-int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *precv_frame)
-{
- struct recv_priv *precvpriv;
- struct __queue *pfree_recv_queue;
- struct sk_buff *skb;
- struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
-
- precvpriv = &(padapter->recvpriv);
- pfree_recv_queue = &(precvpriv->free_recv_queue);
-
- skb = precv_frame->u.hdr.pkt;
- if (!skb)
- goto _recv_indicatepkt_drop;
-
- skb->data = precv_frame->u.hdr.rx_data;
-
- skb_set_tail_pointer(skb, precv_frame->u.hdr.len);
-
- skb->len = precv_frame->u.hdr.len;
-
- rtw_os_recv_indicate_pkt(padapter, skb, pattrib);
-
- /* pointers to NULL before rtw_free_recvframe() */
- precv_frame->u.hdr.pkt = NULL;
-
- rtw_free_recvframe(precv_frame, pfree_recv_queue);
-
- return _SUCCESS;
-
-_recv_indicatepkt_drop:
-
- /* enqueue back to free_recv_queue */
- rtw_free_recvframe(precv_frame, pfree_recv_queue);
-
- return _FAIL;
-}
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 03/13] staging: rtl8723bs: move rtw_handle_tkip_mic_err to rtw_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
2025-08-22 13:54 ` [PATCH 01/13] staging: rtl8723bs: remove wrapper rtw_init_recv_timer Michael Straube
2025-08-22 13:54 ` [PATCH 02/13] staging: rtl8723bs: move rtw_recv_indicatepkt to rtw_recv.c Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 04/13] staging: rtl8723bs: merge rtw_os_free_recvframe into rtw_recv.c Michael Straube
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Move the function rtw_handle_tkip_mic_err 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>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 44 +++++++++++++++++++
.../staging/rtl8723bs/include/recv_osdep.h | 2 -
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 44 -------------------
3 files changed, 44 insertions(+), 46 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index bc34cac8dabe..b043e3d1cd82 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -294,6 +294,50 @@ struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue)
}
+static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup)
+{
+ enum nl80211_key_type key_type = 0;
+ union iwreq_data wrqu;
+ struct iw_michaelmicfailure ev;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct security_priv *psecuritypriv = &padapter->securitypriv;
+ unsigned long cur_time = 0;
+
+ if (psecuritypriv->last_mic_err_time == 0) {
+ psecuritypriv->last_mic_err_time = jiffies;
+ } else {
+ cur_time = jiffies;
+
+ if (cur_time - psecuritypriv->last_mic_err_time < 60*HZ) {
+ psecuritypriv->btkip_countermeasure = true;
+ psecuritypriv->last_mic_err_time = 0;
+ psecuritypriv->btkip_countermeasure_time = cur_time;
+ } else {
+ psecuritypriv->last_mic_err_time = jiffies;
+ }
+ }
+
+ if (bgroup)
+ key_type |= NL80211_KEYTYPE_GROUP;
+ else
+ key_type |= NL80211_KEYTYPE_PAIRWISE;
+
+ cfg80211_michael_mic_failure(padapter->pnetdev, (u8 *)&pmlmepriv->assoc_bssid[0], key_type, -1,
+ NULL, GFP_ATOMIC);
+
+ memset(&ev, 0x00, sizeof(ev));
+ if (bgroup)
+ ev.flags |= IW_MICFAILURE_GROUP;
+ else
+ ev.flags |= IW_MICFAILURE_PAIRWISE;
+
+ ev.src_addr.sa_family = ARPHRD_ETHER;
+ memcpy(ev.src_addr.sa_data, &pmlmepriv->assoc_bssid[0], ETH_ALEN);
+
+ memset(&wrqu, 0x00, sizeof(wrqu));
+ wrqu.data.length = sizeof(ev);
+}
+
static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe)
{
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index f31c87b21206..91fb275cbcaf 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -15,8 +15,6 @@ extern void _rtw_free_recv_priv(struct recv_priv *precvpriv);
extern s32 rtw_recv_entry(union recv_frame *precv_frame);
extern void rtw_recv_returnpacket(struct net_device *cnxt, struct sk_buff *preturnedpkt);
-extern void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup);
-
int rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
void rtw_free_recv_priv(struct recv_priv *precvpriv);
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index ae396ccfd830..72fd86e03b5c 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -135,47 +135,3 @@ void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, str
rtw_netif_rx(padapter->pnetdev, pkt);
}
}
-
-void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup)
-{
- enum nl80211_key_type key_type = 0;
- union iwreq_data wrqu;
- struct iw_michaelmicfailure ev;
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct security_priv *psecuritypriv = &padapter->securitypriv;
- unsigned long cur_time = 0;
-
- if (psecuritypriv->last_mic_err_time == 0) {
- psecuritypriv->last_mic_err_time = jiffies;
- } else {
- cur_time = jiffies;
-
- if (cur_time - psecuritypriv->last_mic_err_time < 60*HZ) {
- psecuritypriv->btkip_countermeasure = true;
- psecuritypriv->last_mic_err_time = 0;
- psecuritypriv->btkip_countermeasure_time = cur_time;
- } else {
- psecuritypriv->last_mic_err_time = jiffies;
- }
- }
-
- if (bgroup)
- key_type |= NL80211_KEYTYPE_GROUP;
- else
- key_type |= NL80211_KEYTYPE_PAIRWISE;
-
- cfg80211_michael_mic_failure(padapter->pnetdev, (u8 *)&pmlmepriv->assoc_bssid[0], key_type, -1,
- NULL, GFP_ATOMIC);
-
- memset(&ev, 0x00, sizeof(ev));
- if (bgroup)
- ev.flags |= IW_MICFAILURE_GROUP;
- else
- ev.flags |= IW_MICFAILURE_PAIRWISE;
-
- ev.src_addr.sa_family = ARPHRD_ETHER;
- memcpy(ev.src_addr.sa_data, &pmlmepriv->assoc_bssid[0], ETH_ALEN);
-
- memset(&wrqu, 0x00, sizeof(wrqu));
- wrqu.data.length = sizeof(ev);
-}
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 04/13] staging: rtl8723bs: merge rtw_os_free_recvframe into rtw_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (2 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 03/13] staging: rtl8723bs: move rtw_handle_tkip_mic_err " Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 05/13] staging: rtl8723bs: merge rtw_os_recv_resource_alloc " Michael Straube
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Merge the functionality of rtw_os_free_recvframe in os_dep/recv_linux.c
into rtw_free_recvframe in core/rtw_recv.c to reduce code in the os_dep
directory.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 6 ++++--
drivers/staging/rtl8723bs/include/recv_osdep.h | 4 ----
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 9 ---------
3 files changed, 4 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index b043e3d1cd82..2b054525b3fd 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -147,8 +147,10 @@ int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_
struct adapter *padapter = precvframe->u.hdr.adapter;
struct recv_priv *precvpriv = &padapter->recvpriv;
- rtw_os_free_recvframe(precvframe);
-
+ if (precvframe->u.hdr.pkt) {
+ dev_kfree_skb_any(precvframe->u.hdr.pkt);/* free skb by driver */
+ precvframe->u.hdr.pkt = NULL;
+ }
spin_lock_bh(&pfree_recv_queue->lock);
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index 91fb275cbcaf..51b52d6b0367 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -22,10 +22,6 @@ void rtw_free_recv_priv(struct recv_priv *precvpriv);
void rtw_os_recv_resource_alloc(struct adapter *padapter, union recv_frame *precvframe);
void rtw_os_recv_resource_free(struct recv_priv *precvpriv);
-
-void rtw_os_free_recvframe(union recv_frame *precvframe);
-
-
void rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *precvbuf);
struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata);
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index 72fd86e03b5c..c5819c3c59d8 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -9,15 +9,6 @@
#include <net/cfg80211.h>
#include <linux/unaligned.h>
-void rtw_os_free_recvframe(union recv_frame *precvframe)
-{
- if (precvframe->u.hdr.pkt) {
- dev_kfree_skb_any(precvframe->u.hdr.pkt);/* free skb by driver */
-
- precvframe->u.hdr.pkt = NULL;
- }
-}
-
/* alloc os related resource in union recv_frame */
void rtw_os_recv_resource_alloc(struct adapter *padapter, union recv_frame *precvframe)
{
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 05/13] staging: rtl8723bs: merge rtw_os_recv_resource_alloc into rtw_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (3 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 04/13] staging: rtl8723bs: merge rtw_os_free_recvframe into rtw_recv.c Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 06/13] staging: rtl8723bs: merge rtw_os_recv_resource_free " Michael Straube
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Merge the functionality of rtw_os_recv_resource_alloc into
_rtw_init_recv_priv to reduce code in the os_dep directory.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 3 ++-
drivers/staging/rtl8723bs/include/recv_osdep.h | 1 -
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 6 ------
3 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 2b054525b3fd..fcc28d4556c5 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -66,7 +66,8 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada
list_add_tail(&(precvframe->u.list), &(precvpriv->free_recv_queue.queue));
- rtw_os_recv_resource_alloc(padapter, precvframe);
+ precvframe->u.hdr.pkt_newalloc = NULL;
+ precvframe->u.hdr.pkt = NULL;
precvframe->u.hdr.len = 0;
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index 51b52d6b0367..763ddef4ad90 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -19,7 +19,6 @@ 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_resource_alloc(struct adapter *padapter, union recv_frame *precvframe);
void rtw_os_recv_resource_free(struct recv_priv *precvpriv);
void rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *precvbuf);
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index c5819c3c59d8..ccd00f8bee7e 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -9,12 +9,6 @@
#include <net/cfg80211.h>
#include <linux/unaligned.h>
-/* alloc os related resource in union recv_frame */
-void rtw_os_recv_resource_alloc(struct adapter *padapter, union recv_frame *precvframe)
-{
- precvframe->u.hdr.pkt_newalloc = precvframe->u.hdr.pkt = NULL;
-}
-
/* free os related resource in union recv_frame */
void rtw_os_recv_resource_free(struct recv_priv *precvpriv)
{
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 06/13] staging: rtl8723bs: merge rtw_os_recv_resource_free into rtw_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (4 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 05/13] staging: rtl8723bs: merge rtw_os_recv_resource_alloc " Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 07/13] staging: rtl8723bs: merge rtw_os_recvbuf_resource_free into rtl8723bs_recv.c Michael Straube
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Merge the functionality of rtw_os_recv_resource_free in os_dep/recv_linux.c
into _rtw_free_recv_priv in core/rtw_recv.c to reduce code in the os_dep
directory.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 13 ++++++++++++-
drivers/staging/rtl8723bs/include/recv_osdep.h | 3 ---
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 18 ------------------
3 files changed, 12 insertions(+), 22 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index fcc28d4556c5..cda51aab752d 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -91,11 +91,22 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada
void _rtw_free_recv_priv(struct recv_priv *precvpriv)
{
+ signed int i;
+ union recv_frame *precvframe;
struct adapter *padapter = precvpriv->adapter;
rtw_free_uc_swdec_pending_queue(padapter);
- rtw_os_recv_resource_free(precvpriv);
+ precvframe = (union recv_frame *)precvpriv->precv_frame_buf;
+
+ for (i = 0; i < NR_RECVFRAME; i++) {
+ if (precvframe->u.hdr.pkt) {
+ /* free skb by driver */
+ dev_kfree_skb_any(precvframe->u.hdr.pkt);
+ precvframe->u.hdr.pkt = NULL;
+ }
+ precvframe++;
+ }
vfree(precvpriv->pallocated_frame_buf);
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index 763ddef4ad90..9b3f4e8293ee 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -18,9 +18,6 @@ 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_resource_free(struct recv_priv *precvpriv);
-
void rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *precvbuf);
struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata);
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index ccd00f8bee7e..c71e0c762f4f 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -9,24 +9,6 @@
#include <net/cfg80211.h>
#include <linux/unaligned.h>
-/* free os related resource in union recv_frame */
-void rtw_os_recv_resource_free(struct recv_priv *precvpriv)
-{
- signed int i;
- union recv_frame *precvframe;
-
- precvframe = (union recv_frame *) precvpriv->precv_frame_buf;
-
- for (i = 0; i < NR_RECVFRAME; i++) {
- if (precvframe->u.hdr.pkt) {
- /* free skb by driver */
- dev_kfree_skb_any(precvframe->u.hdr.pkt);
- precvframe->u.hdr.pkt = NULL;
- }
- precvframe++;
- }
-}
-
/* free os related resource in struct recv_buf */
void rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *precvbuf)
{
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 07/13] staging: rtl8723bs: merge rtw_os_recvbuf_resource_free into rtl8723bs_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (5 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 06/13] staging: rtl8723bs: merge rtw_os_recv_resource_free " Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 08/13] staging: rtl8723bs: move rtw_os_alloc_msdu_pkt to rtw_recv.c Michael Straube
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Merge rtw_os_recvbuf_resource_free into rtl8723bs_init_recv_priv and into
rtl8723bs_free_recv_priv to reduce code in the os_dep directory.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c | 6 ++++--
drivers/staging/rtl8723bs/include/recv_osdep.h | 2 --
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 7 -------
3 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
index 28c914ec2604..399edfbf8ec6 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
@@ -431,7 +431,8 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
precvpriv->free_recv_buf_queue_cnt = 0;
for (i = 0; i < n ; i++) {
list_del_init(&precvbuf->list);
- rtw_os_recvbuf_resource_free(padapter, precvbuf);
+ if (precvbuf->pskb)
+ dev_kfree_skb_any(precvbuf->pskb);
precvbuf++;
}
precvpriv->precv_buf = NULL;
@@ -467,7 +468,8 @@ void rtl8723bs_free_recv_priv(struct adapter *padapter)
precvpriv->free_recv_buf_queue_cnt = 0;
for (i = 0; i < NR_RECVBUFF; i++) {
list_del_init(&precvbuf->list);
- rtw_os_recvbuf_resource_free(padapter, precvbuf);
+ if (precvbuf->pskb)
+ dev_kfree_skb_any(precvbuf->pskb);
precvbuf++;
}
precvpriv->precv_buf = NULL;
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index 9b3f4e8293ee..227e172bf1c3 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -18,8 +18,6 @@ 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_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *precvbuf);
-
struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata);
void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib);
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index c71e0c762f4f..ebe169507dc8 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -9,13 +9,6 @@
#include <net/cfg80211.h>
#include <linux/unaligned.h>
-/* free os related resource in struct recv_buf */
-void rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *precvbuf)
-{
- if (precvbuf->pskb)
- dev_kfree_skb_any(precvbuf->pskb);
-}
-
struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata)
{
u16 eth_type;
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 08/13] staging: rtl8723bs: move rtw_os_alloc_msdu_pkt to rtw_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (6 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 07/13] staging: rtl8723bs: merge rtw_os_recvbuf_resource_free into rtl8723bs_recv.c Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 09/13] staging: rtl8723bs: rename rtw_os_alloc_msdu_pkt Michael Straube
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Move the function rtw_os_alloc_msdu_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>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 40 +++++++++++++++++++
.../staging/rtl8723bs/include/recv_osdep.h | 1 -
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 40 -------------------
3 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index cda51aab752d..4947099d8595 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1622,6 +1622,46 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
return _SUCCESS;
}
+static struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata)
+{
+ u16 eth_type;
+ struct sk_buff *sub_skb;
+ struct rx_pkt_attrib *pattrib;
+
+ pattrib = &prframe->u.hdr.attrib;
+
+ sub_skb = rtw_skb_alloc(nSubframe_Length + 12);
+ if (!sub_skb)
+ return NULL;
+
+ skb_reserve(sub_skb, 12);
+ skb_put_data(sub_skb, (pdata + ETH_HLEN), nSubframe_Length);
+
+ eth_type = get_unaligned_be16(&sub_skb->data[6]);
+
+ if (sub_skb->len >= 8 &&
+ ((!memcmp(sub_skb->data, rfc1042_header, SNAP_SIZE) &&
+ eth_type != ETH_P_AARP && eth_type != ETH_P_IPX) ||
+ !memcmp(sub_skb->data, bridge_tunnel_header, SNAP_SIZE))) {
+ /*
+ * remove RFC1042 or Bridge-Tunnel encapsulation and replace
+ * EtherType
+ */
+ skb_pull(sub_skb, SNAP_SIZE);
+ memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, ETH_ALEN);
+ memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, ETH_ALEN);
+ } else {
+ __be16 len;
+ /* Leave Ethernet header part of hdr and full payload */
+ len = htons(sub_skb->len);
+ memcpy(skb_push(sub_skb, 2), &len, 2);
+ memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, ETH_ALEN);
+ memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, ETH_ALEN);
+ }
+
+ return sub_skb;
+}
+
static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
{
int a_len, padding_len;
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index 227e172bf1c3..1e332ea63207 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -18,7 +18,6 @@ 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);
-struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata);
void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib);
#endif /* */
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index ebe169507dc8..4d3a42f6f9ad 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -9,46 +9,6 @@
#include <net/cfg80211.h>
#include <linux/unaligned.h>
-struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata)
-{
- u16 eth_type;
- struct sk_buff *sub_skb;
- struct rx_pkt_attrib *pattrib;
-
- pattrib = &prframe->u.hdr.attrib;
-
- sub_skb = rtw_skb_alloc(nSubframe_Length + 12);
- if (!sub_skb)
- return NULL;
-
- skb_reserve(sub_skb, 12);
- skb_put_data(sub_skb, (pdata + ETH_HLEN), nSubframe_Length);
-
- eth_type = get_unaligned_be16(&sub_skb->data[6]);
-
- if (sub_skb->len >= 8 &&
- ((!memcmp(sub_skb->data, rfc1042_header, SNAP_SIZE) &&
- eth_type != ETH_P_AARP && eth_type != ETH_P_IPX) ||
- !memcmp(sub_skb->data, bridge_tunnel_header, SNAP_SIZE))) {
- /*
- * remove RFC1042 or Bridge-Tunnel encapsulation and replace
- * EtherType
- */
- skb_pull(sub_skb, SNAP_SIZE);
- memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, ETH_ALEN);
- memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, ETH_ALEN);
- } else {
- __be16 len;
- /* Leave Ethernet header part of hdr and full payload */
- len = htons(sub_skb->len);
- memcpy(skb_push(sub_skb, 2), &len, 2);
- memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, ETH_ALEN);
- memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, ETH_ALEN);
- }
-
- return sub_skb;
-}
-
void rtw_os_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 09/13] staging: rtl8723bs: rename rtw_os_alloc_msdu_pkt
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (7 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 08/13] staging: rtl8723bs: move rtw_os_alloc_msdu_pkt to rtw_recv.c Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 10/13] staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c Michael Straube
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Rename rtw_os_alloc_msdu_pkt to rtw_alloc_msdu_pkt as the _os_
indicates operating system dependent code which is unnecessary
for in-tree linux kernel code.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 4947099d8595..a8b388822719 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1622,7 +1622,7 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
return _SUCCESS;
}
-static struct sk_buff *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata)
+static struct sk_buff *rtw_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata)
{
u16 eth_type;
struct sk_buff *sub_skb;
@@ -1691,7 +1691,7 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
if (a_len < ETH_HLEN + nSubframe_Length)
break;
- sub_pkt = rtw_os_alloc_msdu_pkt(prframe, nSubframe_Length, pdata);
+ sub_pkt = rtw_alloc_msdu_pkt(prframe, nSubframe_Length, pdata);
if (!sub_pkt)
break;
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 10/13] staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (8 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 09/13] staging: rtl8723bs: rename rtw_os_alloc_msdu_pkt Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 11/13] staging: rtl8723bs: rename rtw_os_recv_indicate_pkt Michael Straube
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
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>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 47 +++++++++++++++++++
.../staging/rtl8723bs/include/recv_osdep.h | 2 -
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 45 ------------------
3 files changed, 47 insertions(+), 47 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index a8b388822719..924a0c415a1e 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -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;
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index 1e332ea63207..20ce25132700 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -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 /* */
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index 4d3a42f6f9ad..193725cc60bc 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -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);
- }
-}
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 11/13] staging: rtl8723bs: rename rtw_os_recv_indicate_pkt
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (9 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 10/13] staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 12/13] staging: rtl8723bs: remove os_dep/recv_linux.c Michael Straube
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Rename rtw_os_recv_indicate_pkt to rtw_recv_indicate_pkt as the _os_
indicates operating system dependent code which is unnecessary for
in-tree linux kernel code.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 924a0c415a1e..e893cb6fa273 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1662,7 +1662,7 @@ 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)
+static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
@@ -1771,7 +1771,7 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
/* Indicate the packets to upper layer */
if (sub_pkt)
- rtw_os_recv_indicate_pkt(padapter, sub_pkt, &prframe->u.hdr.attrib);
+ rtw_recv_indicate_pkt(padapter, sub_pkt, &prframe->u.hdr.attrib);
}
prframe->u.hdr.len = 0;
@@ -1890,7 +1890,7 @@ static int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *prec
skb->len = precv_frame->u.hdr.len;
- rtw_os_recv_indicate_pkt(padapter, skb, pattrib);
+ rtw_recv_indicate_pkt(padapter, skb, pattrib);
/* pointers to NULL before rtw_free_recvframe() */
precv_frame->u.hdr.pkt = NULL;
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 12/13] staging: rtl8723bs: remove os_dep/recv_linux.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (10 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 11/13] staging: rtl8723bs: rename rtw_os_recv_indicate_pkt Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 13:54 ` [PATCH 13/13] staging: rtl8723bs: remove include/recv_osdep.h Michael Straube
2025-08-22 14:06 ` [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Hans de Goede
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
After previous patches the file os_dep/recv_linux.c is empty now and we
can remove it.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/Makefile | 1 -
drivers/staging/rtl8723bs/os_dep/recv_linux.c | 12 ------------
2 files changed, 13 deletions(-)
delete mode 100644 drivers/staging/rtl8723bs/os_dep/recv_linux.c
diff --git a/drivers/staging/rtl8723bs/Makefile b/drivers/staging/rtl8723bs/Makefile
index 19c0525ec3e0..1768b8123f03 100644
--- a/drivers/staging/rtl8723bs/Makefile
+++ b/drivers/staging/rtl8723bs/Makefile
@@ -50,7 +50,6 @@ r8723bs-y = \
os_dep/ioctl_cfg80211.o \
os_dep/osdep_service.o \
os_dep/os_intfs.o \
- os_dep/recv_linux.o \
os_dep/sdio_intf.o \
os_dep/sdio_ops_linux.o \
os_dep/wifi_regd.o \
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
deleted file mode 100644
index 193725cc60bc..000000000000
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ /dev/null
@@ -1,12 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/******************************************************************************
- *
- * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
- *
- ******************************************************************************/
-#include <drv_types.h>
-#include <linux/jiffies.h>
-#include <net/cfg80211.h>
-#include <linux/unaligned.h>
-
-
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 13/13] staging: rtl8723bs: remove include/recv_osdep.h
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (11 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 12/13] staging: rtl8723bs: remove os_dep/recv_linux.c Michael Straube
@ 2025-08-22 13:54 ` Michael Straube
2025-08-22 14:06 ` [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Hans de Goede
13 siblings, 0 replies; 15+ messages in thread
From: Michael Straube @ 2025-08-22 13:54 UTC (permalink / raw)
To: gregkh; +Cc: hdegoede, Larry.Finger, linux-staging, linux-kernel,
Michael Straube
Move still needed function prototypes defined in the recv_osdep.h header
to rtw_recv.h and remove the now obsolete recv_osdep.h.
Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
drivers/staging/rtl8723bs/include/drv_types.h | 1 -
.../staging/rtl8723bs/include/recv_osdep.h | 21 -------------------
drivers/staging/rtl8723bs/include/rtw_recv.h | 4 ++++
3 files changed, 4 insertions(+), 22 deletions(-)
delete mode 100644 drivers/staging/rtl8723bs/include/recv_osdep.h
diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h
index f1c16ddacc83..dd9018aa4ee5 100644
--- a/drivers/staging/rtl8723bs/include/drv_types.h
+++ b/drivers/staging/rtl8723bs/include/drv_types.h
@@ -33,7 +33,6 @@
#include <xmit_osdep.h>
#include <rtw_recv.h>
-#include <recv_osdep.h>
#include <rtw_efuse.h>
#include <hal_intf.h>
#include <hal_com.h>
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
deleted file mode 100644
index 20ce25132700..000000000000
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/******************************************************************************
- *
- * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
- *
- ******************************************************************************/
-#ifndef __RECV_OSDEP_H_
-#define __RECV_OSDEP_H_
-
-
-extern signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
-extern void _rtw_free_recv_priv(struct recv_priv *precvpriv);
-
-
-extern s32 rtw_recv_entry(union recv_frame *precv_frame);
-extern void rtw_recv_returnpacket(struct net_device *cnxt, struct sk_buff *preturnedpkt);
-
-int rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
-void rtw_free_recv_priv(struct recv_priv *precvpriv);
-
-#endif /* */
diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h
index aa9f9d5ecd01..8e45871f07f0 100644
--- a/drivers/staging/rtl8723bs/include/rtw_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtw_recv.h
@@ -342,6 +342,10 @@ struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue);
void rtw_reordering_ctrl_timeout_handler(struct timer_list *t);
+signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
+void _rtw_free_recv_priv(struct recv_priv *precvpriv);
+s32 rtw_recv_entry(union recv_frame *precv_frame);
+
static inline u8 *get_rxmem(union recv_frame *precvframe)
{
/* always return rx_head... */
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
` (12 preceding siblings ...)
2025-08-22 13:54 ` [PATCH 13/13] staging: rtl8723bs: remove include/recv_osdep.h Michael Straube
@ 2025-08-22 14:06 ` Hans de Goede
13 siblings, 0 replies; 15+ messages in thread
From: Hans de Goede @ 2025-08-22 14:06 UTC (permalink / raw)
To: Michael Straube, gregkh; +Cc: Larry.Finger, linux-staging, linux-kernel
Hi,
On 22-Aug-25 3:54 PM, Michael Straube wrote:
> This series moves/merges the functions/functionality of os_dep/recv_linux.c
> into the corresponding parts of the driver in the core directory to reduce
> "os dependent" code.
>
> The patches have been compile-tested only due to lack of hardware.
>
> Michael Straube (13):
> staging: rtl8723bs: remove wrapper rtw_init_recv_timer
> staging: rtl8723bs: move rtw_recv_indicatepkt to rtw_recv.c
> staging: rtl8723bs: move rtw_handle_tkip_mic_err to rtw_recv.c
> staging: rtl8723bs: merge rtw_os_free_recvframe into rtw_recv.c
> staging: rtl8723bs: merge rtw_os_recv_resource_alloc into rtw_recv.c
> staging: rtl8723bs: merge rtw_os_recv_resource_free into rtw_recv.c
> staging: rtl8723bs: merge rtw_os_recvbuf_resource_free into
> rtl8723bs_recv.c
> staging: rtl8723bs: move rtw_os_alloc_msdu_pkt to rtw_recv.c
> staging: rtl8723bs: rename rtw_os_alloc_msdu_pkt
> staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c
> staging: rtl8723bs: rename rtw_os_recv_indicate_pkt
> staging: rtl8723bs: remove os_dep/recv_linux.c
> staging: rtl8723bs: remove include/recv_osdep.h
Thanks, series looks good to me:
Reviewed-by: Hans de Goede <hansg@kernel.org>
for the series.
Regards,
Hans
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-08-22 14:06 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-22 13:54 [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Michael Straube
2025-08-22 13:54 ` [PATCH 01/13] staging: rtl8723bs: remove wrapper rtw_init_recv_timer Michael Straube
2025-08-22 13:54 ` [PATCH 02/13] staging: rtl8723bs: move rtw_recv_indicatepkt to rtw_recv.c Michael Straube
2025-08-22 13:54 ` [PATCH 03/13] staging: rtl8723bs: move rtw_handle_tkip_mic_err " Michael Straube
2025-08-22 13:54 ` [PATCH 04/13] staging: rtl8723bs: merge rtw_os_free_recvframe into rtw_recv.c Michael Straube
2025-08-22 13:54 ` [PATCH 05/13] staging: rtl8723bs: merge rtw_os_recv_resource_alloc " Michael Straube
2025-08-22 13:54 ` [PATCH 06/13] staging: rtl8723bs: merge rtw_os_recv_resource_free " Michael Straube
2025-08-22 13:54 ` [PATCH 07/13] staging: rtl8723bs: merge rtw_os_recvbuf_resource_free into rtl8723bs_recv.c Michael Straube
2025-08-22 13:54 ` [PATCH 08/13] staging: rtl8723bs: move rtw_os_alloc_msdu_pkt to rtw_recv.c Michael Straube
2025-08-22 13:54 ` [PATCH 09/13] staging: rtl8723bs: rename rtw_os_alloc_msdu_pkt Michael Straube
2025-08-22 13:54 ` [PATCH 10/13] staging: rtl8723bs: move rtw_os_recv_indicate_pkt to rtw_recv.c Michael Straube
2025-08-22 13:54 ` [PATCH 11/13] staging: rtl8723bs: rename rtw_os_recv_indicate_pkt Michael Straube
2025-08-22 13:54 ` [PATCH 12/13] staging: rtl8723bs: remove os_dep/recv_linux.c Michael Straube
2025-08-22 13:54 ` [PATCH 13/13] staging: rtl8723bs: remove include/recv_osdep.h Michael Straube
2025-08-22 14:06 ` [PATCH 00/13] staging: rtl8723bs: get rid of os_dep/recv_linux.c Hans de Goede
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).