Search Linux Wireless

Re: [PATCH v2] ath10k: set MAC timestamp in management Rx frame

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 02/24/2016 12:40 AM, Michal Kazior wrote:
On 23 February 2016 at 20:44, Peter Oh <poh@xxxxxxxxxxxxxxxx> wrote:
From: poh <poh@xxxxxxxxxxxxxxxx>

Check and set Rx MAC timestamp when firmware indicates it.
Firmware adds it in Rx beacon frame only at this moment.
Driver and mac80211 may utilize it to detect such clockdrift
or beacon collision and use the result for beacon collision
avoidance.

Signed-off-by: poh <poh@xxxxxxxxxxxxxxxx>
Your from/s-o-b doesn't seem right - just "poh"? Shouldn't it say
"Peter Oh" instead? :)



---

v2:
         - fix kbuild test robot warning, left shift count >= width of
type,
         at __le32_to_cpu(arg.ext_info.rx_mac_timestamp_u32) << 32

  drivers/net/wireless/ath/ath10k/wmi.c | 14 ++++++++++++++
  drivers/net/wireless/ath/ath10k/wmi.h |  8 ++++++++
  2 files changed, 22 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c
b/drivers/net/wireless/ath/ath10k/wmi.c
index 0f01a8d..b2a4cda 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -2167,6 +2167,7 @@ static int ath10k_wmi_op_pull_mgmt_rx_ev(struct
ath10k *ar, struct sk_buff *skb,
         struct wmi_mgmt_rx_event_v1 *ev_v1;
         struct wmi_mgmt_rx_event_v2 *ev_v2;
         struct wmi_mgmt_rx_hdr_v1 *ev_hdr;
+       struct wmi_mgmt_rx_ext_info *ext_info;
         size_t pull_len;
         u32 msdu_len;

@@ -2195,6 +2196,12 @@ static int ath10k_wmi_op_pull_mgmt_rx_ev(struct
ath10k *ar, struct sk_buff *skb,
         if (skb->len < msdu_len)
                 return -EPROTO;

+       if (arg->status & WMI_RX_STATUS_EXT_INFO) {
+               ext_info = (struct wmi_mgmt_rx_ext_info *)
+                          (skb->data + arg->buf_len);
I would expect the ext_info structure to be aligned at 4 byte
boundaries (or is it?)
Yes.
but buf_len isn't guaranteed to be multiple of
4.
Correct.
  This could mean you grab garbage in some cases depending on the
mgmt frame size (i.e. whether its size is multiple of 4). It might be
coincidence it works for you?
I'll send out 3rd patch.


Michał

_______________________________________________
ath10k mailing list
ath10k@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/ath10k

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux