From nobody Wed Apr 8 22:50:03 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1316C433FE for ; Sat, 29 Oct 2022 17:24:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229991AbiJ2RYj (ORCPT ); Sat, 29 Oct 2022 13:24:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34024 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229886AbiJ2RYN (ORCPT ); Sat, 29 Oct 2022 13:24:13 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C2384CA0A for ; Sat, 29 Oct 2022 10:24:04 -0700 (PDT) Received: from dslb-188-097-213-253.188.097.pools.vodafone-ip.de ([188.97.213.253] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1oopYu-00074v-Cy; Sat, 29 Oct 2022 19:24:00 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 09/13] staging: r8188eu: clean up on_action_public Date: Sat, 29 Oct 2022 19:23:33 +0200 Message-Id: <20221029172337.1574593-10-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221029172337.1574593-1-martin@kaiser.cx> References: <20221029172337.1574593-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use the struct mgmt to read the action_code. This is much simpler than parsing the message ourselves. Add a comment about reading the action code. All members of the action enum start with an action_code byte. It does not matter which member we use. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index 40539fa3b5a2..b3cef3504ad3 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -3813,24 +3813,16 @@ static unsigned int 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 =3D (struct ieee80211_mgmt *)precv_frame->rx_= data; - unsigned int ret =3D _FAIL; - u8 *pframe =3D precv_frame->rx_data; - u8 *frame_body =3D pframe + sizeof(struct ieee80211_hdr_3addr); - u8 action; =20 /* check RA matches or not */ if (memcmp(myid(&padapter->eeprompriv), mgmt->da, ETH_ALEN)) return; =20 - action =3D frame_body[1]; - switch (action) { - case ACT_PUBLIC_VENDOR: - ret =3D on_action_public_vendor(precv_frame); - break; - default: - ret =3D on_action_public_default(precv_frame); - break; - } + /* All members of the action enum start with action_code. */ + if (mgmt->u.action.u.s1g.action_code =3D=3D WLAN_PUB_ACTION_VENDOR_SPECIF= IC) + on_action_public_vendor(precv_frame); + else + on_action_public_default(precv_frame); } =20 static void OnAction_p2p(struct adapter *padapter, struct recv_frame *prec= v_frame) --=20 2.30.2