Commit abe3f3da authored by Ryder Lee's avatar Ryder Lee Committed by Felix Fietkau

mt76: fill boottime_ns in Rx path

Give a proper boottime_ns value for netlink RX to avoid scan
issues with Android.
Signed-off-by: default avatarRyder Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent a2e75961
...@@ -801,6 +801,7 @@ mt76_rx_convert(struct mt76_dev *dev, struct sk_buff *skb, ...@@ -801,6 +801,7 @@ mt76_rx_convert(struct mt76_dev *dev, struct sk_buff *skb,
struct ieee80211_sta **sta) struct ieee80211_sta **sta)
{ {
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb); struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
struct ieee80211_hdr *hdr = mt76_skb_get_hdr(skb);
struct mt76_rx_status mstat; struct mt76_rx_status mstat;
mstat = *((struct mt76_rx_status *)skb->cb); mstat = *((struct mt76_rx_status *)skb->cb);
...@@ -823,6 +824,10 @@ mt76_rx_convert(struct mt76_dev *dev, struct sk_buff *skb, ...@@ -823,6 +824,10 @@ mt76_rx_convert(struct mt76_dev *dev, struct sk_buff *skb,
status->device_timestamp = mstat.timestamp; status->device_timestamp = mstat.timestamp;
status->mactime = mstat.timestamp; status->mactime = mstat.timestamp;
if (ieee80211_is_beacon(hdr->frame_control) ||
ieee80211_is_probe_resp(hdr->frame_control))
status->boottime_ns = ktime_get_boottime_ns();
BUILD_BUG_ON(sizeof(mstat) > sizeof(skb->cb)); BUILD_BUG_ON(sizeof(mstat) > sizeof(skb->cb));
BUILD_BUG_ON(sizeof(status->chain_signal) != BUILD_BUG_ON(sizeof(status->chain_signal) !=
sizeof(mstat.chain_signal)); sizeof(mstat.chain_signal));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment