From nobody Sat Jun 27 23:13:30 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 A9AB0C433F5 for ; Fri, 18 Feb 2022 13:51:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235871AbiBRNvQ (ORCPT ); Fri, 18 Feb 2022 08:51:16 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:40194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235844AbiBRNvK (ORCPT ); Fri, 18 Feb 2022 08:51:10 -0500 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 53059297208 for ; Fri, 18 Feb 2022 05:50:54 -0800 (PST) Received: from dslb-178-004-174-047.178.004.pools.vodafone-ip.de ([178.4.174.47] 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 1nL3es-0007eo-Eb; Fri, 18 Feb 2022 14:50:50 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 1/4] staging: r8188eu: use ieee80211 define for management frame type Date: Fri, 18 Feb 2022 14:50:35 +0100 Message-Id: <20220218135038.908307-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220218135038.908307-1-martin@kaiser.cx> References: <20220218135038.908307-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" Replace the driver-internal define for management frame type with IEEE80211_FTYPE_MGMT. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 3 ++- drivers/staging/r8188eu/core/rtw_recv.c | 2 +- drivers/staging/r8188eu/include/wifi.h | 25 ++++++++++----------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index 0b77ddde6ce2..f49641abc8b8 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -3,6 +3,7 @@ =20 #define _RTW_MLME_EXT_C_ =20 +#include #include "../include/osdep_service.h" #include "../include/drv_types.h" #include "../include/wifi.h" @@ -414,7 +415,7 @@ void mgt_dispatcher(struct adapter *padapter, struct re= cv_frame *precv_frame) u8 *pframe =3D precv_frame->rx_data; struct sta_info *psta =3D rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr= (pframe)); =20 - if (GetFrameType(pframe) !=3D WIFI_MGT_TYPE) + if (GetFrameType(pframe) !=3D IEEE80211_FTYPE_MGMT) return; =20 /* receive the frames that ra(a1) is my address or ra(a1) is bc address. = */ diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index 0144c4642911..955cc0a1638a 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -1094,7 +1094,7 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv /* Dump rx packets */ GetHalDefVar8188EUsb(adapter, HAL_DEF_DBG_DUMP_RXPKT, &bDumpRxPkt); switch (type) { - case WIFI_MGT_TYPE: /* mgnt */ + case IEEE80211_FTYPE_MGMT: validate_recv_mgnt_frame(adapter, precv_frame); retval =3D _FAIL; /* only data frame return _SUCCESS */ break; diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188= eu/include/wifi.h index e7083d721dae..5b383c2e9880 100644 --- a/drivers/staging/r8188eu/include/wifi.h +++ b/drivers/staging/r8188eu/include/wifi.h @@ -18,7 +18,6 @@ #define WLAN_SSID_MAXLEN 32 =20 enum WIFI_FRAME_TYPE { - WIFI_MGT_TYPE =3D (0), WIFI_CTRL_TYPE =3D (BIT(2)), WIFI_DATA_TYPE =3D (BIT(3)), WIFI_QOS_DATA_TYPE =3D (BIT(7)|BIT(3)), /* QoS Data */ @@ -26,18 +25,18 @@ enum WIFI_FRAME_TYPE { =20 enum WIFI_FRAME_SUBTYPE { /* below is for mgt frame */ - WIFI_ASSOCREQ =3D (0 | WIFI_MGT_TYPE), - WIFI_ASSOCRSP =3D (BIT(4) | WIFI_MGT_TYPE), - WIFI_REASSOCREQ =3D (BIT(5) | WIFI_MGT_TYPE), - WIFI_REASSOCRSP =3D (BIT(5) | BIT(4) | WIFI_MGT_TYPE), - WIFI_PROBEREQ =3D (BIT(6) | WIFI_MGT_TYPE), - WIFI_PROBERSP =3D (BIT(6) | BIT(4) | WIFI_MGT_TYPE), - WIFI_BEACON =3D (BIT(7) | WIFI_MGT_TYPE), - WIFI_ATIM =3D (BIT(7) | BIT(4) | WIFI_MGT_TYPE), - WIFI_DISASSOC =3D (BIT(7) | BIT(5) | WIFI_MGT_TYPE), - WIFI_AUTH =3D (BIT(7) | BIT(5) | BIT(4) | WIFI_MGT_TYPE), - WIFI_DEAUTH =3D (BIT(7) | BIT(6) | WIFI_MGT_TYPE), - WIFI_ACTION =3D (BIT(7) | BIT(6) | BIT(4) | WIFI_MGT_TYPE), + WIFI_ASSOCREQ =3D (0 | IEEE80211_FTYPE_MGMT), + WIFI_ASSOCRSP =3D (BIT(4) | IEEE80211_FTYPE_MGMT), + WIFI_REASSOCREQ =3D (BIT(5) | IEEE80211_FTYPE_MGMT), + WIFI_REASSOCRSP =3D (BIT(5) | BIT(4) | IEEE80211_FTYPE_MGMT), + WIFI_PROBEREQ =3D (BIT(6) | IEEE80211_FTYPE_MGMT), + WIFI_PROBERSP =3D (BIT(6) | BIT(4) | IEEE80211_FTYPE_MGMT), + WIFI_BEACON =3D (BIT(7) | IEEE80211_FTYPE_MGMT), + WIFI_ATIM =3D (BIT(7) | BIT(4) | IEEE80211_FTYPE_MGMT), + WIFI_DISASSOC =3D (BIT(7) | BIT(5) | IEEE80211_FTYPE_MGMT), + WIFI_AUTH =3D (BIT(7) | BIT(5) | BIT(4) | IEEE80211_FTYPE_MGMT), + WIFI_DEAUTH =3D (BIT(7) | BIT(6) | IEEE80211_FTYPE_MGMT), + WIFI_ACTION =3D (BIT(7) | BIT(6) | BIT(4) | IEEE80211_FTYPE_MGMT), =20 /* below is for control frame */ WIFI_PSPOLL =3D (BIT(7) | BIT(5) | WIFI_CTRL_TYPE), --=20 2.30.2 From nobody Sat Jun 27 23:13:30 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 47A4AC433EF for ; Fri, 18 Feb 2022 13:51:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235877AbiBRNvT (ORCPT ); Fri, 18 Feb 2022 08:51:19 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:40204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234806AbiBRNvL (ORCPT ); Fri, 18 Feb 2022 08:51:11 -0500 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 AD8982557B6 for ; Fri, 18 Feb 2022 05:50:55 -0800 (PST) Received: from dslb-178-004-174-047.178.004.pools.vodafone-ip.de ([178.4.174.47] 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 1nL3eu-0007eo-0c; Fri, 18 Feb 2022 14:50:52 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 2/4] staging: r8188eu: use ieee80211 helpers to check the frame type Date: Fri, 18 Feb 2022 14:50:36 +0100 Message-Id: <20220218135038.908307-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220218135038.908307-1-martin@kaiser.cx> References: <20220218135038.908307-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 ieee80211_is_... helper functions to check the frame type in the validate_recv_frame function. Add a temporary variable for the 16-bit frame control field. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index 955cc0a1638a..bb31423ec26c 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -3,6 +3,7 @@ =20 #define _RTW_RECV_C_ =20 +#include #include "../include/osdep_service.h" #include "../include/drv_types.h" #include "../include/recv_osdep.h" @@ -1056,12 +1057,12 @@ static int validate_recv_frame(struct adapter *adap= ter, struct recv_frame *precv =20 /* then call check if rx seq/frag. duplicated. */ =20 - u8 type; u8 subtype; int retval =3D _SUCCESS; u8 bDumpRxPkt; struct rx_pkt_attrib *pattrib =3D &precv_frame->attrib; u8 *ptr =3D precv_frame->rx_data; + __le16 fc =3D *(__le16 *)ptr; u8 ver =3D (unsigned char)(*ptr) & 0x3; struct mlme_ext_priv *pmlmeext =3D &adapter->mlmeextpriv; =20 @@ -1077,7 +1078,6 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv goto exit; } =20 - type =3D GetFrameType(ptr); subtype =3D GetFrameSubType(ptr); /* bit(7)~bit(2) */ =20 pattrib->to_fr_ds =3D get_tofr_ds(ptr); @@ -1093,16 +1093,14 @@ static int validate_recv_frame(struct adapter *adap= ter, struct recv_frame *precv =20 /* Dump rx packets */ GetHalDefVar8188EUsb(adapter, HAL_DEF_DBG_DUMP_RXPKT, &bDumpRxPkt); - switch (type) { - case IEEE80211_FTYPE_MGMT: + + if (ieee80211_is_mgmt(fc)) { validate_recv_mgnt_frame(adapter, precv_frame); retval =3D _FAIL; /* only data frame return _SUCCESS */ - break; - case WIFI_CTRL_TYPE: /* ctrl */ + } else if (ieee80211_is_ctl(fc)) { validate_recv_ctrl_frame(adapter, precv_frame); retval =3D _FAIL; /* only data frame return _SUCCESS */ - break; - case WIFI_DATA_TYPE: /* data */ + } else if (ieee80211_is_data(fc)) { rtw_led_control(adapter, LED_CTL_RX); pattrib->qos =3D (subtype & BIT(7)) ? 1 : 0; retval =3D validate_recv_data_frame(adapter, precv_frame); @@ -1110,11 +1108,8 @@ static int validate_recv_frame(struct adapter *adapt= er, struct recv_frame *precv struct recv_priv *precvpriv =3D &adapter->recvpriv; precvpriv->rx_drop++; } - break; - default: + } else retval =3D _FAIL; - break; - } =20 exit: =20 --=20 2.30.2 From nobody Sat Jun 27 23:13:30 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 B61A6C433FE for ; Fri, 18 Feb 2022 13:51:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235887AbiBRNvV (ORCPT ); Fri, 18 Feb 2022 08:51:21 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:40240 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235867AbiBRNvP (ORCPT ); Fri, 18 Feb 2022 08:51:15 -0500 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 D5C0529720B for ; Fri, 18 Feb 2022 05:50:58 -0800 (PST) Received: from dslb-178-004-174-047.178.004.pools.vodafone-ip.de ([178.4.174.47] 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 1nL3ev-0007eo-9y; Fri, 18 Feb 2022 14:50:53 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 3/4] staging: r8188eu: refactor validate_recv_frame's error handling Date: Fri, 18 Feb 2022 14:50:37 +0100 Message-Id: <20220218135038.908307-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220218135038.908307-1-martin@kaiser.cx> References: <20220218135038.908307-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" Refactor the error handling of validate_recv_frame. It's simpler to default to _FAIL. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index bb31423ec26c..52a3ad297099 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -1058,7 +1058,7 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv /* then call check if rx seq/frag. duplicated. */ =20 u8 subtype; - int retval =3D _SUCCESS; + int retval =3D _FAIL; u8 bDumpRxPkt; struct rx_pkt_attrib *pattrib =3D &precv_frame->attrib; u8 *ptr =3D precv_frame->rx_data; @@ -1073,10 +1073,8 @@ static int validate_recv_frame(struct adapter *adapt= er, struct recv_frame *precv } =20 /* add version chk */ - if (ver !=3D 0) { - retval =3D _FAIL; - goto exit; - } + if (ver !=3D 0) + return _FAIL; =20 subtype =3D GetFrameSubType(ptr); /* bit(7)~bit(2) */ =20 @@ -1094,13 +1092,12 @@ static int validate_recv_frame(struct adapter *adap= ter, struct recv_frame *precv /* Dump rx packets */ GetHalDefVar8188EUsb(adapter, HAL_DEF_DBG_DUMP_RXPKT, &bDumpRxPkt); =20 - if (ieee80211_is_mgmt(fc)) { + /* We return _SUCCESS only for data frames. */ + if (ieee80211_is_mgmt(fc)) validate_recv_mgnt_frame(adapter, precv_frame); - retval =3D _FAIL; /* only data frame return _SUCCESS */ - } else if (ieee80211_is_ctl(fc)) { + else if (ieee80211_is_ctl(fc)) validate_recv_ctrl_frame(adapter, precv_frame); - retval =3D _FAIL; /* only data frame return _SUCCESS */ - } else if (ieee80211_is_data(fc)) { + else if (ieee80211_is_data(fc)) { rtw_led_control(adapter, LED_CTL_RX); pattrib->qos =3D (subtype & BIT(7)) ? 1 : 0; retval =3D validate_recv_data_frame(adapter, precv_frame); @@ -1108,10 +1105,7 @@ static int validate_recv_frame(struct adapter *adapt= er, struct recv_frame *precv struct recv_priv *precvpriv =3D &adapter->recvpriv; precvpriv->rx_drop++; } - } else - retval =3D _FAIL; - -exit: + } =20 return retval; } --=20 2.30.2 From nobody Sat Jun 27 23:13:30 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 3C7FCC433F5 for ; Fri, 18 Feb 2022 13:51:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235906AbiBRNvX (ORCPT ); Fri, 18 Feb 2022 08:51:23 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:40256 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235844AbiBRNvR (ORCPT ); Fri, 18 Feb 2022 08:51:17 -0500 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 A19B02557B6 for ; Fri, 18 Feb 2022 05:51:00 -0800 (PST) Received: from dslb-178-004-174-047.178.004.pools.vodafone-ip.de ([178.4.174.47] 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 1nL3ey-0007eo-4H; Fri, 18 Feb 2022 14:50:56 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 4/4] staging: r8188eu: use ieee80211 helper for qos bit Date: Fri, 18 Feb 2022 14:50:38 +0100 Message-Id: <20220218135038.908307-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220218135038.908307-1-martin@kaiser.cx> References: <20220218135038.908307-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 ieee80211_is_data_qos helper function to read the qos bit. This helper function returns a bool. Change the qos field in struct rx_pkt_attrib from u8 to bool and fix up the other places where it is used. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 9 +++------ drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c | 2 +- drivers/staging/r8188eu/include/rtw_recv.h | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index 52a3ad297099..a083e7501251 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -1012,7 +1012,7 @@ static int validate_recv_data_frame(struct adapter *a= dapter, pattrib->amsdu =3D 0; pattrib->ack_policy =3D 0; /* parsing QC field */ - if (pattrib->qos =3D=3D 1) { + if (pattrib->qos) { pattrib->priority =3D GetPriority((ptr + 24)); pattrib->ack_policy =3D GetAckpolicy((ptr + 24)); pattrib->amsdu =3D GetAMsdu((ptr + 24)); @@ -1057,7 +1057,6 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv =20 /* then call check if rx seq/frag. duplicated. */ =20 - u8 subtype; int retval =3D _FAIL; u8 bDumpRxPkt; struct rx_pkt_attrib *pattrib =3D &precv_frame->attrib; @@ -1076,8 +1075,6 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv if (ver !=3D 0) return _FAIL; =20 - subtype =3D GetFrameSubType(ptr); /* bit(7)~bit(2) */ - pattrib->to_fr_ds =3D get_tofr_ds(ptr); =20 pattrib->frag_num =3D GetFragNum(ptr); @@ -1099,7 +1096,7 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv validate_recv_ctrl_frame(adapter, precv_frame); else if (ieee80211_is_data(fc)) { rtw_led_control(adapter, LED_CTL_RX); - pattrib->qos =3D (subtype & BIT(7)) ? 1 : 0; + pattrib->qos =3D ieee80211_is_data_qos(fc); retval =3D validate_recv_data_frame(adapter, precv_frame); if (retval =3D=3D _FAIL) { struct recv_priv *precvpriv =3D &adapter->recvpriv; @@ -1599,7 +1596,7 @@ static int recv_indicatepkt_reorder(struct adapter *p= adapter, struct recv_frame /* s1. */ wlanhdr_to_ethhdr(prframe); =20 - if (pattrib->qos !=3D 1) { + if (!pattrib->qos) { if (!padapter->bDriverStopped && !padapter->bSurpriseRemoved) { rtw_recv_indicatepkt(padapter, prframe); diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_rxdesc.c index bf93ff3af140..bba8bcb9a77c 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c @@ -84,7 +84,7 @@ void update_recvframe_attrib_88e(struct recv_frame *precv= frame, struct recv_stat pattrib->bdecrypted =3D (le32_to_cpu(report.rxdw0) & BIT(27)) ? 0 : 1;/*= u8)(prxreport->swdec ? 0 : 1); */ pattrib->encrypt =3D (u8)((le32_to_cpu(report.rxdw0) >> 20) & 0x7);/* u8= )prxreport->security; */ =20 - pattrib->qos =3D (u8)((le32_to_cpu(report.rxdw0) >> 23) & 0x1);/* u8)prx= report->qos; */ + pattrib->qos =3D (le32_to_cpu(report.rxdw0) >> 23) & 0x1;/* u8)prxreport= ->qos; */ pattrib->priority =3D (u8)((le32_to_cpu(report.rxdw1) >> 8) & 0xf);/* u8= )prxreport->tid; */ =20 pattrib->amsdu =3D (u8)((le32_to_cpu(report.rxdw1) >> 13) & 0x1);/* u8)p= rxreport->amsdu; */ diff --git a/drivers/staging/r8188eu/include/rtw_recv.h b/drivers/staging/r= 8188eu/include/rtw_recv.h index 5e65cf6b87bc..25587e193f0d 100644 --- a/drivers/staging/r8188eu/include/rtw_recv.h +++ b/drivers/staging/r8188eu/include/rtw_recv.h @@ -89,7 +89,7 @@ struct rx_pkt_attrib { u8 hdrlen; /* the WLAN Header Len */ u8 to_fr_ds; u8 amsdu; - u8 qos; + bool qos; u8 priority; u8 pw_save; u8 mdata; --=20 2.30.2