p54: improve TSF timestamp precision
authorChristian Lamparter <chunkeey@googlemail.com>
Sat, 24 Nov 2012 13:23:25 +0000 (14:23 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 26 Nov 2012 19:54:21 +0000 (14:54 -0500)
The LMAC API states that the TSF clock value of
every rx'ed frame is a "usec accurate timestamp
of the hardware clock at the end of frame
(before OFDM SIFS EOF padding)".

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/p54/txrx.c

index 8ae982bd7cf36d2de6de3529a8c616de8a7e0bc5..12f0a34477f231cff73a591f3bc5a2af300ce9d0 100644 (file)
@@ -369,7 +369,11 @@ static int p54_rx_data(struct p54_common *priv, struct sk_buff *skb)
        rx_status->mactime = ((u64)priv->tsf_high32) << 32 | tsf32;
        priv->tsf_low32 = tsf32;
 
-       rx_status->flag |= RX_FLAG_MACTIME_START;
+       /* LMAC API Page 10/29 - s_lm_data_in - clock
+        * "usec accurate timestamp of hardware clock
+        * at end of frame (before OFDM SIFS EOF padding"
+        */
+       rx_status->flag |= RX_FLAG_MACTIME_END;
 
        if (hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_ALIGN))
                header_len += hdr->align[0];