Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4474331ybz; Tue, 28 Apr 2020 11:55:24 -0700 (PDT) X-Google-Smtp-Source: APiQypKVB4VVIE9dXbib/bQed2RlIb6MZQyoIhWMMwpysWWmWjVavBiNi7Iz0ilt5ArqxXRUDttz X-Received: by 2002:a17:906:6441:: with SMTP id l1mr26770100ejn.148.1588100124665; Tue, 28 Apr 2020 11:55:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588100124; cv=none; d=google.com; s=arc-20160816; b=CpG8r898mDdVgGVqWURhF10yuhUvDC60d5JV7371ScKqjTCamnMEOPdN6A5NxM9M4w Wbipo/MHFN+VW0cwOALGlHC2a80o6q0WtpqgTRnqxZbWO4k2xOOjL8XQjipxUxRF/8XX 2fGgcxJySNR5/APoWmP1YLm1c30b/fHAfAksf0Zt2/o4PdQWs0LT/QI2BosvWuu5L+aS z33pM6+Fq+fuP2AhytU4LGfDWrADRTAF9b4s/4rTcvZo7vBaHw271+DjQNx5NU46muwu 3jjVdOshiYl0SnlViHaflMpnx23aBtQOYzPnlVpC9WQhp9ADCg3XjcHd+2YczaKwT0oQ AMKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LZw66SCrx60LC3CYo3oQ3bFVaSbcE39Ydva8iaj2hLM=; b=miKMMfVX4lgDUjXVGv6mzd8FMfdlmfP2Q4vpFGbu8dkUEfxUpj6i0r5EHqKGgQhEVp JbBnYIZznmNS9+2GkByDhjNnpEOt74adMQf0m/1Yg87XUFcwn3ahNgzNU5YT0hLY+heK 5rg9kCbRCxOCCbGmR9wBmI1N5klOkvWRciUG4fU5LZ5Jg/lOdEgKOMjjSEtTHnm0Z0HA SeS00D6gE7AfdtfQKueIgm9UpUX4eZA142UJhzSW7a53ywKwW8Xhao6BrZoEMMcDYgk0 lKvWPiahOvnIqmfuL7wWxNJ7jTF0G9io004QUkKGJNdBQovZRJwQ8exKHkZADK7PcFUx UZFw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Wmim8Sys; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a6si2011329edv.395.2020.04.28.11.55.00; Tue, 28 Apr 2020 11:55:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Wmim8Sys; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729976AbgD1Sxr (ORCPT + 99 others); Tue, 28 Apr 2020 14:53:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:51624 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730053AbgD1Seo (ORCPT ); Tue, 28 Apr 2020 14:34:44 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 25B5B21707; Tue, 28 Apr 2020 18:34:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588098883; bh=cT5SIXL+iVDu/hb72oYjuRoUfLvME/5P/O+c1CUUBH8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Wmim8SyscwmvjPhUnySqksmEF958o/4EVs8gSkUgEr0Vn1zJLA2AUx9jHT9SikuAC H73ySR5sxhsqlNuMNlPrMGA2JXQ9VAt2wkYI/QY89ZvMzWFCs9WWCUdTN0mVZ6M9hC Uet/ktmGnxCRkAr5QsfwFpf2LKy5g8DdmvrXalb0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mordechay Goodstein , Luca Coelho , Kalle Valo Subject: [PATCH 5.6 124/167] iwlwifi: mvm: beacon statistics shouldnt go backwards Date: Tue, 28 Apr 2020 20:25:00 +0200 Message-Id: <20200428182240.973667531@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200428182225.451225420@linuxfoundation.org> References: <20200428182225.451225420@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mordechay Goodstein commit 290d5e4951832e39d10f4184610dbf09038f8483 upstream. We reset statistics also in case that we didn't reassoc so in this cases keep last beacon counter. Cc: stable@vger.kernel.org # v4.19+ Signed-off-by: Mordechay Goodstein Signed-off-by: Luca Coelho Signed-off-by: Kalle Valo Link: https://lore.kernel.org/r/iwlwifi.20200417100405.1f9142751fbc.Ifbfd0f928a0a761110b8f4f2ca5483a61fb21131@changeid Signed-off-by: Greg Kroah-Hartman --- drivers/net/wireless/intel/iwlwifi/mvm/rx.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) --- a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c @@ -8,7 +8,7 @@ * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2018 - 2020 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -31,7 +31,7 @@ * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2018 - 2020 Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -566,6 +566,7 @@ void iwl_mvm_rx_rx_mpdu(struct iwl_mvm * struct iwl_mvm_stat_data { struct iwl_mvm *mvm; + __le32 flags; __le32 mac_id; u8 beacon_filter_average_energy; void *general; @@ -606,6 +607,13 @@ static void iwl_mvm_stat_iterator(void * -general->beacon_average_energy[vif_id]; } + /* make sure that beacon statistics don't go backwards with TCM + * request to clear statistics + */ + if (le32_to_cpu(data->flags) & IWL_STATISTICS_REPLY_FLG_CLEAR) + mvmvif->beacon_stats.accu_num_beacons += + mvmvif->beacon_stats.num_beacons; + if (mvmvif->id != id) return; @@ -763,6 +771,7 @@ void iwl_mvm_handle_rx_statistics(struct flags = stats->flag; } + data.flags = flags; iwl_mvm_rx_stats_check_trigger(mvm, pkt);