staging: rtl8723au: clean up update_TSF()
Clean up and simplify update_TSF() using proper Linux functions and
move it to rtw_mlme_ext.c which is the only user of it.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
index 945b592..cb34152 100644
--- a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
@@ -249,6 +249,12 @@
};
+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
@@ -785,7 +791,7 @@
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);
@@ -838,7 +844,7 @@
}
/* 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,
@@ -5492,9 +5498,6 @@
}
else/* adhoc client */
{
- /* update TSF Value */
- /* update_TSF23a(pmlmeext, pframe, len); */
-
/* correcting TSF */
correct_TSF23a(padapter, pmlmeext);
diff --git a/drivers/staging/rtl8723au/core/rtw_wlan_util.c b/drivers/staging/rtl8723au/core/rtw_wlan_util.c
index 84753f5..bf53973 100644
--- a/drivers/staging/rtl8723au/core/rtw_wlan_util.c
+++ b/drivers/staging/rtl8723au/core/rtw_wlan_util.c
@@ -1643,21 +1643,6 @@
}
}
-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)
{
diff --git a/drivers/staging/rtl8723au/include/rtw_mlme_ext.h b/drivers/staging/rtl8723au/include/rtw_mlme_ext.h
index 13f580d..cbea649 100644
--- a/drivers/staging/rtl8723au/include/rtw_mlme_ext.h
+++ b/drivers/staging/rtl8723au/include/rtw_mlme_ext.h
@@ -635,7 +635,6 @@
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 {