Search Linux Wireless

Re: [PATCH v3 2/2] mac80211_hwsim: set rx_status mactime/flag for wmediumd path

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

 



On Fri, 2019-11-22 at 09:14 -0800, James Prestwood wrote:
> This patch sets the required rx_status mactime and flags in order for
> the parent TSF value to be calculated and sent to userspace. This is
> already done elsewhere, but this patch allows this to work for the
> wmediumd code path.
> 
> Signed-off-by: James Prestwood <prestwoj@xxxxxxxxx>
> ---
>  drivers/net/wireless/mac80211_hwsim.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
> index e9bc599481d4..01b2ac9707cc 100644
> --- a/drivers/net/wireless/mac80211_hwsim.c
> +++ b/drivers/net/wireless/mac80211_hwsim.c
> @@ -3238,6 +3238,8 @@ static int hwsim_cloned_frame_received_nl(struct sk_buff *skb_2,
>  	int frame_data_len;
>  	void *frame_data;
>  	struct sk_buff *skb = NULL;
> +	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb_2->data;
> +	u64 now;
>  
>  	if (!info->attrs[HWSIM_ATTR_ADDR_RECEIVER] ||
>  	    !info->attrs[HWSIM_ATTR_FRAME] ||
> @@ -3300,6 +3302,18 @@ static int hwsim_cloned_frame_received_nl(struct sk_buff *skb_2,
>  	rx_status.rate_idx = nla_get_u32(info->attrs[HWSIM_ATTR_RX_RATE]);
>  	rx_status.signal = nla_get_u32(info->attrs[HWSIM_ATTR_SIGNAL]);
>  
> +	if (ieee80211_is_beacon(hdr->frame_control) ||
> +	    ieee80211_is_probe_resp(hdr->frame_control)) {
> +		rx_status.boottime_ns = ktime_get_boottime_ns();
> +		now = data2->abs_bcn_ts;

I'm pretty sure this should be data, not data2, like in the other code
paths?

Also, please rebase - I already did the boottime_ns before overlapping
your change, so you can also get rid of the 'hdr' variable.

johannes





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

  Powered by Linux