staging: rtl8723au: clean up update_TSF()
authorJes Sorensen <Jes.Sorensen@redhat.com>
Tue, 15 Apr 2014 17:44:27 +0000 (19:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Apr 2014 18:04:05 +0000 (11:04 -0700)
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>
drivers/staging/rtl8723au/core/rtw_mlme_ext.c
drivers/staging/rtl8723au/core/rtw_wlan_util.c
drivers/staging/rtl8723au/include/rtw_mlme_ext.h

index 945b59271b1135012a4ada07faec21fd08cc6db4..cb341529a1f35189f672cdfd14123af641b99cc5 100644 (file)
@@ -249,6 +249,12 @@ static struct fwevent wlanevents[] =
 };
 
 
+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 @@ OnBeacon23a(struct rtw_adapter *padapter, struct recv_frame *precv_frame)
                                          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 @@ OnBeacon23a(struct rtw_adapter *padapter, struct recv_frame *precv_frame)
                        }
 
                        /* 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 @@ void mlmeext_sta_add_event_callback23a(struct rtw_adapter *padapter, struct sta_
                }
                else/* adhoc client */
                {
-                       /* update TSF Value */
-                       /* update_TSF23a(pmlmeext, pframe, len); */
-
                        /*  correcting TSF */
                        correct_TSF23a(padapter, pmlmeext);
 
index 84753f5ee2314d4f24338ce55f8f938c1fde4291..bf53973b2204e18da5288349fe2e396fca370881 100644 (file)
@@ -1643,21 +1643,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)
-{
-       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)
 {
index 13f580d9d96fe115d82977a7dbff2f9d0fc7ebb3..cbea64938c548539a66ee25201855b7d3d186235 100644 (file)
@@ -635,7 +635,6 @@ int cckratesonly_included23a(unsigned char *rate, int ratelen);
 
 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 {