Commit baa1bb80 authored by Martin Kaiser's avatar Martin Kaiser Committed by Greg Kroah-Hartman

staging: r8188eu: use standard mechanisms for data frames

Use defines and macros from ieee80211.h to check for data frames and
to define data frame subtypes.
Signed-off-by: default avatarMartin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220327180944.712545-5-martin@kaiser.cxSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c3ba49e3
...@@ -1283,8 +1283,9 @@ struct recv_frame *recvframe_chk_defrag(struct adapter *padapter, struct recv_fr ...@@ -1283,8 +1283,9 @@ struct recv_frame *recvframe_chk_defrag(struct adapter *padapter, struct recv_fr
psta_addr = pfhdr->attrib.ta; psta_addr = pfhdr->attrib.ta;
psta = rtw_get_stainfo(pstapriv, psta_addr); psta = rtw_get_stainfo(pstapriv, psta_addr);
if (!psta) { if (!psta) {
u8 type = GetFrameType(pfhdr->rx_data); __le16 fc = *(__le16 *)pfhdr->rx_data;
if (type != WIFI_DATA_TYPE) {
if (ieee80211_is_data(fc)) {
psta = rtw_get_bcmc_stainfo(padapter); psta = rtw_get_bcmc_stainfo(padapter);
pdefrag_q = &psta->sta_recvpriv.defrag_q; pdefrag_q = &psta->sta_recvpriv.defrag_q;
} else { } else {
......
...@@ -497,7 +497,7 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p ...@@ -497,7 +497,7 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
pattrib->pkt_hdrlen = ETH_HLEN;/* pattrib->ether_type == 0x8100) ? (14 + 4): 14; vlan tag */ pattrib->pkt_hdrlen = ETH_HLEN;/* pattrib->ether_type == 0x8100) ? (14 + 4): 14; vlan tag */
pattrib->hdrlen = WLAN_HDR_A3_LEN; pattrib->hdrlen = WLAN_HDR_A3_LEN;
pattrib->subtype = WIFI_DATA_TYPE; pattrib->subtype = IEEE80211_FTYPE_DATA;
pattrib->priority = 0; pattrib->priority = 0;
if (check_fwstate(pmlmepriv, WIFI_AP_STATE | WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) { if (check_fwstate(pmlmepriv, WIFI_AP_STATE | WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) {
...@@ -717,7 +717,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr ...@@ -717,7 +717,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
SetFrameSubType(fctrl, pattrib->subtype); SetFrameSubType(fctrl, pattrib->subtype);
if (pattrib->subtype & WIFI_DATA_TYPE) { if (pattrib->subtype & IEEE80211_FTYPE_DATA) {
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) {
/* to_ds = 1, fr_ds = 0; */ /* to_ds = 1, fr_ds = 0; */
/* Data transfer to AP */ /* Data transfer to AP */
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#define WLAN_SSID_MAXLEN 32 #define WLAN_SSID_MAXLEN 32
enum WIFI_FRAME_TYPE { enum WIFI_FRAME_TYPE {
WIFI_DATA_TYPE = (BIT(3)),
WIFI_QOS_DATA_TYPE = (BIT(7)|BIT(3)), /* QoS Data */ WIFI_QOS_DATA_TYPE = (BIT(7)|BIT(3)), /* QoS Data */
}; };
...@@ -41,14 +40,14 @@ enum WIFI_FRAME_SUBTYPE { ...@@ -41,14 +40,14 @@ enum WIFI_FRAME_SUBTYPE {
WIFI_CFEND_CFACK = (BIT(7) | BIT(6) | BIT(5) | BIT(4) | IEEE80211_FTYPE_CTL), WIFI_CFEND_CFACK = (BIT(7) | BIT(6) | BIT(5) | BIT(4) | IEEE80211_FTYPE_CTL),
/* below is for data frame */ /* below is for data frame */
WIFI_DATA = (0 | WIFI_DATA_TYPE), WIFI_DATA = (0 | IEEE80211_FTYPE_DATA),
WIFI_DATA_CFACK = (BIT(4) | WIFI_DATA_TYPE), WIFI_DATA_CFACK = (BIT(4) | IEEE80211_FTYPE_DATA),
WIFI_DATA_CFPOLL = (BIT(5) | WIFI_DATA_TYPE), WIFI_DATA_CFPOLL = (BIT(5) | IEEE80211_FTYPE_DATA),
WIFI_DATA_CFACKPOLL = (BIT(5) | BIT(4) | WIFI_DATA_TYPE), WIFI_DATA_CFACKPOLL = (BIT(5) | BIT(4) | IEEE80211_FTYPE_DATA),
WIFI_DATA_NULL = (BIT(6) | WIFI_DATA_TYPE), WIFI_DATA_NULL = (BIT(6) | IEEE80211_FTYPE_DATA),
WIFI_CF_ACK = (BIT(6) | BIT(4) | WIFI_DATA_TYPE), WIFI_CF_ACK = (BIT(6) | BIT(4) | IEEE80211_FTYPE_DATA),
WIFI_CF_POLL = (BIT(6) | BIT(5) | WIFI_DATA_TYPE), WIFI_CF_POLL = (BIT(6) | BIT(5) | IEEE80211_FTYPE_DATA),
WIFI_CF_ACKPOLL = (BIT(6) | BIT(5) | BIT(4) | WIFI_DATA_TYPE), WIFI_CF_ACKPOLL = (BIT(6) | BIT(5) | BIT(4) | IEEE80211_FTYPE_DATA),
WIFI_QOS_DATA_NULL = (BIT(6) | WIFI_QOS_DATA_TYPE), WIFI_QOS_DATA_NULL = (BIT(6) | WIFI_QOS_DATA_TYPE),
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment