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 {