All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] staging: r8188eu: merge public action functions
@ 2022-12-30 17:53 Martin Kaiser
  2022-12-30 17:53 ` [PATCH 1/4] staging: r8188eu: merge on_action_public_vendor into its caller Martin Kaiser
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Martin Kaiser @ 2022-12-30 17:53 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Larry Finger, Phillip Potter, Michael Straube, Pavel Skripkin,
	linux-staging, linux-kernel, Martin Kaiser

Merge the small helper functions that handle public action frames.

Martin Kaiser (4):
  staging: r8188eu: merge on_action_public_vendor into its caller
  staging: r8188eu: merge on_action_public_default into its only caller
  staging: r8188eu: remove intermediate pframe pointer
  staging: r8188eu: remove intermediate token variable

 drivers/staging/r8188eu/core/rtw_mlme_ext.c | 31 +++++----------------
 1 file changed, 7 insertions(+), 24 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] staging: r8188eu: merge on_action_public_vendor into its caller
  2022-12-30 17:53 [PATCH 0/4] staging: r8188eu: merge public action functions Martin Kaiser
@ 2022-12-30 17:53 ` Martin Kaiser
  2022-12-30 17:53 ` [PATCH 2/4] staging: r8188eu: merge on_action_public_default into its only caller Martin Kaiser
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Martin Kaiser @ 2022-12-30 17:53 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Larry Finger, Phillip Potter, Michael Straube, Pavel Skripkin,
	linux-staging, linux-kernel, Martin Kaiser

Apart from declaring variables, on_action_public_vendor is only an if
statement. Merge this function into its only caller. This makes the code a
tiny bit smaller.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/r8188eu/core/rtw_mlme_ext.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
index 1b9cf7596a76..cfa65813d3f2 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
@@ -3735,15 +3735,6 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame)
 	return _SUCCESS;
 }
 
-static void on_action_public_vendor(struct recv_frame *precv_frame)
-{
-	u8 *pframe = precv_frame->rx_data;
-	u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr);
-
-	if (!memcmp(frame_body + 2, P2P_OUI, 4))
-		on_action_public_p2p(precv_frame);
-}
-
 static void on_action_public_default(struct recv_frame *precv_frame)
 {
 	u8 *pframe = precv_frame->rx_data;
@@ -3758,12 +3749,16 @@ static void on_action_public_default(struct recv_frame *precv_frame)
 static void on_action_public(struct adapter *padapter, struct recv_frame *precv_frame)
 {
 	struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data;
+	u8 *pframe = precv_frame->rx_data;
+	u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr);
 
 	/* All members of the action enum start with action_code. */
-	if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC)
-		on_action_public_vendor(precv_frame);
-	else
+	if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC) {
+		if (!memcmp(frame_body + 2, P2P_OUI, 4))
+			on_action_public_p2p(precv_frame);
+	} else {
 		on_action_public_default(precv_frame);
+	}
 }
 
 static void OnAction_p2p(struct adapter *padapter, struct recv_frame *precv_frame)
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/4] staging: r8188eu: merge on_action_public_default into its only caller
  2022-12-30 17:53 [PATCH 0/4] staging: r8188eu: merge public action functions Martin Kaiser
  2022-12-30 17:53 ` [PATCH 1/4] staging: r8188eu: merge on_action_public_vendor into its caller Martin Kaiser
@ 2022-12-30 17:53 ` Martin Kaiser
  2022-12-30 17:53 ` [PATCH 3/4] staging: r8188eu: remove intermediate pframe pointer Martin Kaiser
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Martin Kaiser @ 2022-12-30 17:53 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Larry Finger, Phillip Potter, Michael Straube, Pavel Skripkin,
	linux-staging, linux-kernel, Martin Kaiser

Merge on_action_public_default into on_action_public, which is the only
caller. Yet again, this makes the code a tiny bit smaller.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/r8188eu/core/rtw_mlme_ext.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
index cfa65813d3f2..0b2f5d6c1279 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
@@ -3735,29 +3735,20 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame)
 	return _SUCCESS;
 }
 
-static void on_action_public_default(struct recv_frame *precv_frame)
-{
-	u8 *pframe = precv_frame->rx_data;
-	u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr);
-	u8 token;
-
-	token = frame_body[2];
-
-	rtw_action_public_decache(precv_frame, token);
-}
-
 static void on_action_public(struct adapter *padapter, struct recv_frame *precv_frame)
 {
 	struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data;
 	u8 *pframe = precv_frame->rx_data;
 	u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr);
+	u8 token;
 
 	/* All members of the action enum start with action_code. */
 	if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC) {
 		if (!memcmp(frame_body + 2, P2P_OUI, 4))
 			on_action_public_p2p(precv_frame);
 	} else {
-		on_action_public_default(precv_frame);
+		token = frame_body[2];
+		rtw_action_public_decache(precv_frame, token);
 	}
 }
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/4] staging: r8188eu: remove intermediate pframe pointer
  2022-12-30 17:53 [PATCH 0/4] staging: r8188eu: merge public action functions Martin Kaiser
  2022-12-30 17:53 ` [PATCH 1/4] staging: r8188eu: merge on_action_public_vendor into its caller Martin Kaiser
  2022-12-30 17:53 ` [PATCH 2/4] staging: r8188eu: merge on_action_public_default into its only caller Martin Kaiser
@ 2022-12-30 17:53 ` Martin Kaiser
  2022-12-30 17:53 ` [PATCH 4/4] staging: r8188eu: remove intermediate token variable Martin Kaiser
  2022-12-31  9:47 ` [PATCH 0/4] staging: r8188eu: merge public action functions Philipp Hortmann
  4 siblings, 0 replies; 6+ messages in thread
From: Martin Kaiser @ 2022-12-30 17:53 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Larry Finger, Phillip Potter, Michael Straube, Pavel Skripkin,
	linux-staging, linux-kernel, Martin Kaiser

The pframe pointer in on_action_public is used only in the definition of
frame_body, which points to the payload of an incoming action frame.

We can use mgmt to locate the action payload and remove the pframe
pointer.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/r8188eu/core/rtw_mlme_ext.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
index 0b2f5d6c1279..310e60c4b639 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
@@ -3738,8 +3738,7 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame)
 static void on_action_public(struct adapter *padapter, struct recv_frame *precv_frame)
 {
 	struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data;
-	u8 *pframe = precv_frame->rx_data;
-	u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr);
+	u8 *frame_body = (u8 *)&mgmt->u;
 	u8 token;
 
 	/* All members of the action enum start with action_code. */
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/4] staging: r8188eu: remove intermediate token variable
  2022-12-30 17:53 [PATCH 0/4] staging: r8188eu: merge public action functions Martin Kaiser
                   ` (2 preceding siblings ...)
  2022-12-30 17:53 ` [PATCH 3/4] staging: r8188eu: remove intermediate pframe pointer Martin Kaiser
@ 2022-12-30 17:53 ` Martin Kaiser
  2022-12-31  9:47 ` [PATCH 0/4] staging: r8188eu: merge public action functions Philipp Hortmann
  4 siblings, 0 replies; 6+ messages in thread
From: Martin Kaiser @ 2022-12-30 17:53 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Larry Finger, Phillip Potter, Michael Straube, Pavel Skripkin,
	linux-staging, linux-kernel, Martin Kaiser

Remove the token variable in on_action_public and use frame_body[2] as
function parameter. This saves another few lines of code.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/r8188eu/core/rtw_mlme_ext.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
index 310e60c4b639..dc181e491b34 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
@@ -3739,15 +3739,13 @@ static void on_action_public(struct adapter *padapter, struct recv_frame *precv_
 {
 	struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data;
 	u8 *frame_body = (u8 *)&mgmt->u;
-	u8 token;
 
 	/* All members of the action enum start with action_code. */
 	if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC) {
 		if (!memcmp(frame_body + 2, P2P_OUI, 4))
 			on_action_public_p2p(precv_frame);
 	} else {
-		token = frame_body[2];
-		rtw_action_public_decache(precv_frame, token);
+		rtw_action_public_decache(precv_frame, frame_body[2]);
 	}
 }
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/4] staging: r8188eu: merge public action functions
  2022-12-30 17:53 [PATCH 0/4] staging: r8188eu: merge public action functions Martin Kaiser
                   ` (3 preceding siblings ...)
  2022-12-30 17:53 ` [PATCH 4/4] staging: r8188eu: remove intermediate token variable Martin Kaiser
@ 2022-12-31  9:47 ` Philipp Hortmann
  4 siblings, 0 replies; 6+ messages in thread
From: Philipp Hortmann @ 2022-12-31  9:47 UTC (permalink / raw)
  To: Martin Kaiser, Greg Kroah-Hartman
  Cc: Larry Finger, Phillip Potter, Michael Straube, Pavel Skripkin,
	linux-staging, linux-kernel

On 12/30/22 18:53, Martin Kaiser wrote:
> Merge the small helper functions that handle public action frames.
> 
> Martin Kaiser (4):
>    staging: r8188eu: merge on_action_public_vendor into its caller
>    staging: r8188eu: merge on_action_public_default into its only caller
>    staging: r8188eu: remove intermediate pframe pointer
>    staging: r8188eu: remove intermediate token variable
> 
>   drivers/staging/r8188eu/core/rtw_mlme_ext.c | 31 +++++----------------
>   1 file changed, 7 insertions(+), 24 deletions(-)
> 


Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-12-31  9:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-30 17:53 [PATCH 0/4] staging: r8188eu: merge public action functions Martin Kaiser
2022-12-30 17:53 ` [PATCH 1/4] staging: r8188eu: merge on_action_public_vendor into its caller Martin Kaiser
2022-12-30 17:53 ` [PATCH 2/4] staging: r8188eu: merge on_action_public_default into its only caller Martin Kaiser
2022-12-30 17:53 ` [PATCH 3/4] staging: r8188eu: remove intermediate pframe pointer Martin Kaiser
2022-12-30 17:53 ` [PATCH 4/4] staging: r8188eu: remove intermediate token variable Martin Kaiser
2022-12-31  9:47 ` [PATCH 0/4] staging: r8188eu: merge public action functions Philipp Hortmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.