mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2025-05-06 21:43:06 +00:00
rtl8188eu: Rework endianess
Several of the struct items related to on-air data must be little endian. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
bad0b4cde4
commit
ed2c3ab733
8 changed files with 47 additions and 37 deletions
|
@ -643,11 +643,15 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
|
|||
phtpriv_sta->ampdu_enable = phtpriv_ap->ampdu_enable;
|
||||
|
||||
/* check if sta support s Short GI */
|
||||
if ((phtpriv_sta->ht_cap.cap_info & phtpriv_ap->ht_cap.cap_info) & (IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40))
|
||||
if ((le16_to_cpu(phtpriv_sta->ht_cap.cap_info) &
|
||||
le16_to_cpu(phtpriv_ap->ht_cap.cap_info)) &
|
||||
(IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40))
|
||||
phtpriv_sta->sgi = true;
|
||||
|
||||
/* bwmode */
|
||||
if ((phtpriv_sta->ht_cap.cap_info & phtpriv_ap->ht_cap.cap_info) & IEEE80211_HT_CAP_SUP_WIDTH) {
|
||||
if ((le16_to_cpu(phtpriv_sta->ht_cap.cap_info) &
|
||||
le16_to_cpu(phtpriv_ap->ht_cap.cap_info)) &
|
||||
IEEE80211_HT_CAP_SUP_WIDTH) {
|
||||
phtpriv_sta->bwmode = pmlmeext->cur_bwmode;
|
||||
phtpriv_sta->ch_offset = pmlmeext->cur_ch_offset;
|
||||
}
|
||||
|
@ -1466,7 +1470,8 @@ static int rtw_ht_operation_update(struct adapter *padapter)
|
|||
if (pmlmepriv->num_sta_no_ht ||
|
||||
(pmlmepriv->ht_op_mode & HT_INFO_OPERATION_MODE_NON_GF_DEVS_PRESENT))
|
||||
new_op_mode = OP_MODE_MIXED;
|
||||
else if ((phtpriv_ap->ht_cap.cap_info & IEEE80211_HT_CAP_SUP_WIDTH) &&
|
||||
else if ((le16_to_cpu(phtpriv_ap->ht_cap.cap_info) &
|
||||
IEEE80211_HT_CAP_SUP_WIDTH) &&
|
||||
pmlmepriv->num_sta_ht_20mhz)
|
||||
new_op_mode = OP_MODE_20MHZ_HT_STA_ASSOCED;
|
||||
else if (pmlmepriv->olbc_ht)
|
||||
|
@ -1596,7 +1601,7 @@ void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta)
|
|||
}
|
||||
|
||||
if (psta->flags & WLAN_STA_HT) {
|
||||
u16 ht_capab = psta->htpriv.ht_cap.cap_info;
|
||||
u16 ht_capab = le16_to_cpu(psta->htpriv.ht_cap.cap_info);
|
||||
|
||||
DBG_88E("HT: STA %pM HT Capabilities Info: 0x%04x\n",
|
||||
(psta->hwaddr), ht_capab);
|
||||
|
|
|
@ -1493,7 +1493,7 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork)
|
|||
p = rtw_get_ie(pnetwork->network.IEs + _FIXED_IE_LENGTH_, _HT_CAPABILITY_IE_, &len, pnetwork->network.IELength - _FIXED_IE_LENGTH_);
|
||||
if (p && len > 0) {
|
||||
pht_cap = (struct rtw_ieee80211_ht_cap *)(p + 2);
|
||||
pnetwork->BcnInfo.ht_cap_info = pht_cap->cap_info;
|
||||
pnetwork->BcnInfo.ht_cap_info = le16_to_cpu(pht_cap->cap_info);
|
||||
} else {
|
||||
pnetwork->BcnInfo.ht_cap_info = 0;
|
||||
}
|
||||
|
|
|
@ -2160,11 +2160,11 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
|
|||
|
||||
_rtw_memset(&ht_capie, 0, sizeof(struct rtw_ieee80211_ht_cap));
|
||||
|
||||
ht_capie.cap_info = IEEE80211_HT_CAP_SUP_WIDTH |
|
||||
IEEE80211_HT_CAP_SGI_20 |
|
||||
IEEE80211_HT_CAP_SGI_40 |
|
||||
IEEE80211_HT_CAP_TX_STBC |
|
||||
IEEE80211_HT_CAP_DSSSCCK40;
|
||||
ht_capie.cap_info = cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH |
|
||||
IEEE80211_HT_CAP_SGI_20 |
|
||||
IEEE80211_HT_CAP_SGI_40 |
|
||||
IEEE80211_HT_CAP_TX_STBC |
|
||||
IEEE80211_HT_CAP_DSSSCCK40);
|
||||
|
||||
rtw_hal_get_def_var(padapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset);
|
||||
rtw_hal_get_def_var(padapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz);
|
||||
|
|
|
@ -6066,16 +6066,17 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch
|
|||
pframe = rtw_set_fixed_ie(pframe, 1, &(pmlmeinfo->ADDBA_req.dialog_token), &(pattrib->pktlen));
|
||||
pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&status), &(pattrib->pktlen));
|
||||
rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor);
|
||||
BA_para_set = le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f;
|
||||
if (MAX_AMPDU_FACTOR_64K == max_rx_ampdu_factor)
|
||||
BA_para_set = (((pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x1000); /* 64 buffer size */
|
||||
BA_para_set |= 0x1000; /* 64 buffer size */
|
||||
else if (MAX_AMPDU_FACTOR_32K == max_rx_ampdu_factor)
|
||||
BA_para_set = (((pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x0800); /* 32 buffer size */
|
||||
BA_para_set |= 0x0800; /* 32 buffer size */
|
||||
else if (MAX_AMPDU_FACTOR_16K == max_rx_ampdu_factor)
|
||||
BA_para_set = (((pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x0400); /* 16 buffer size */
|
||||
BA_para_set |= 0x0400; /* 16 buffer size */
|
||||
else if (MAX_AMPDU_FACTOR_8K == max_rx_ampdu_factor)
|
||||
BA_para_set = (((pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x0200); /* 8 buffer size */
|
||||
BA_para_set |= 0x0200; /* 8 buffer size */
|
||||
else
|
||||
BA_para_set = (((pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x1000); /* 64 buffer size */
|
||||
BA_para_set |= 0x1000; /* 64 buffer size */
|
||||
|
||||
if (pregpriv->ampdu_amsdu == 0)/* disabled */
|
||||
BA_para_set = BA_para_set & ~BIT(0);
|
||||
|
|
|
@ -953,7 +953,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
|
|||
p = rtw_get_ie(bssid->IEs + _FIXED_IE_LENGTH_, _HT_CAPABILITY_IE_, &len, bssid->IELength - _FIXED_IE_LENGTH_);
|
||||
if (p && len > 0) {
|
||||
pht_cap = (struct rtw_ieee80211_ht_cap *)(p + 2);
|
||||
ht_cap_info = pht_cap->cap_info;
|
||||
ht_cap_info = le16_to_cpu(pht_cap->cap_info);
|
||||
} else {
|
||||
ht_cap_info = 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue