};
+static void
+rtw_update_TSF(struct mlme_ext_priv *pmlmeext, struct ieee80211_mgmt *mgmt)
+{
+ pmlmeext->TSFValue = get_unaligned_le64(&mgmt->u.beacon.timestamp);
+}
+
/*
* Search the @param channel_num in given @param channel_set
* @ch_set: the given channel set
offsetof(struct ieee80211_mgmt, u));
/* update TSF Value */
- update_TSF23a(pmlmeext, pframe, pkt_len);
+ rtw_update_TSF(pmlmeext, mgmt);
/* start auth */
start_clnt_auth23a(padapter);
}
/* update TSF Value */
- update_TSF23a(pmlmeext, pframe, pkt_len);
+ rtw_update_TSF(pmlmeext, mgmt);
/* report sta add event */
report_add_sta_event23a(padapter, mgmt->sa,
}
else/* adhoc client */
{
- /* update TSF Value */
- /* update_TSF23a(pmlmeext, pframe, len); */
-
/* correcting TSF */
correct_TSF23a(padapter, pmlmeext);
}
}
-void update_TSF23a(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len)
-{
- u8 *pIE;
- u32 *pbuf;
-
- pIE = pframe + sizeof(struct ieee80211_hdr_3addr);
- pbuf = (u32 *)pIE;
-
- pmlmeext->TSFValue = le32_to_cpu(*(pbuf+1));
-
- pmlmeext->TSFValue = pmlmeext->TSFValue << 32;
-
- pmlmeext->TSFValue |= le32_to_cpu(*pbuf);
-}
-
void correct_TSF23a(struct rtw_adapter *padapter,
struct mlme_ext_priv *pmlmeext)
{
void process_addba_req23a(struct rtw_adapter *padapter, u8 *paddba_req, u8 *addr);
-void update_TSF23a(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len);
void correct_TSF23a(struct rtw_adapter *padapter, struct mlme_ext_priv *pmlmeext);
struct cmd_hdl {