From: Ahmed Zaki Date: Thu, 31 Oct 2019 12:12:43 +0000 (-0600) Subject: mac80211: fix station inactive_time shortly after boot X-Git-Tag: v4.9.206~115 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=01edb73ce3ac7288cdca0bf00944fd8fd442e729;p=platform%2Fkernel%2Flinux-amlogic.git mac80211: fix station inactive_time shortly after boot [ Upstream commit 285531f9e6774e3be71da6673d475ff1a088d675 ] In the first 5 minutes after boot (time of INITIAL_JIFFIES), ieee80211_sta_last_active() returns zero if last_ack is zero. This leads to "inactive time" showing jiffies_to_msecs(jiffies). # iw wlan0 station get fc:ec:da:64:a6:dd Station fc:ec:da:64:a6:dd (on wlan0) inactive time: 4294894049 ms . . connected time: 70 seconds Fix by returning last_rx if last_ack == 0. Signed-off-by: Ahmed Zaki Link: https://lore.kernel.org/r/20191031121243.27694-1-anzaki@gmail.com Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 892c392..8e8a185 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -2305,7 +2305,8 @@ unsigned long ieee80211_sta_last_active(struct sta_info *sta) { struct ieee80211_sta_rx_stats *stats = sta_get_last_rx_stats(sta); - if (time_after(stats->last_rx, sta->status_stats.last_ack)) + if (!sta->status_stats.last_ack || + time_after(stats->last_rx, sta->status_stats.last_ack)) return stats->last_rx; return sta->status_stats.last_ack; }