Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp699440iob; Wed, 4 May 2022 06:19:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmt9U1zP7t6TiX4oG8JRTUXSvlK/HJP6mCpQ/8wC3qU8+0koFaF62DYdCGqm39dhzqxCQh X-Received: by 2002:a63:fb0a:0:b0:3c1:cd4a:4f93 with SMTP id o10-20020a63fb0a000000b003c1cd4a4f93mr17273219pgh.78.1651670385579; Wed, 04 May 2022 06:19:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651670385; cv=none; d=google.com; s=arc-20160816; b=JOKRZOLlqnfNBbfppBRxujpmiYvh2dh7XsC0Nc0Z00I1M3kmfg60tML8RXY3StqvrT RtyI297En27bZ+J41qFb1Of66HYzekHiguVKiIX+zmWzhBl0WDdPFIT/ogTrbjysy8G6 JPrJm6we1phB9Tk+SBWaZEYL/L/GgkXwfh22BQ8wDbnw9ExMj+u1Dv3na/57dpl4OhUc zzFFd7GbqOZhEe+l2tYNB9QzNp3XxJgESvFyYxySvt5CH7kI5moeAviriBXg8b56Np0l yVV8BLOnaxZsondMHSeZTYGsib4JavXrlAJGqzQ0pTAZGj2ZtB6mBi9CbrD7ysVTGHJD V0/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:to:from:subject:message-id :dkim-signature; bh=Byyfgh5KdoOe2K/Vk4t02yiPv5F+2XzxdiCVEHZvgvs=; b=lrJLsIamAb/2EHf6GZCAeEro90J2MvhVksktr864qiZqlDf5rULOiCNuNnfUOngIvh 54uoaxT06tID+XyvpSHD19LJf+irl49XgI9VrWmUbZX8d4ExpCTle33TcklJCCn+1zvz A35vQwgv/NUgTt7rsjn2VnTdz2P0sfZHARGORBM/Wm6NlHMPi6+s2l0vdEagf+tpFjrp vbPO/X/tV3hhZmqHWifcdlL9fzZaIFVb0EHDmX01MlqJ6DxFh7qT0skXPhtN/JGqgp8b ogpia6skXZUlmwq2W2q6U3RKNcpPTzuiFzloOCPCeLdxgN9pMm/OOwh0SG8J0HzM9Hn5 o9xA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b=i18YfV82; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=sipsolutions.net Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x62-20020a638641000000b003c157112368si16191402pgd.609.2022.05.04.06.19.30; Wed, 04 May 2022 06:19:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b=i18YfV82; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=sipsolutions.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344899AbiEDK4v (ORCPT + 68 others); Wed, 4 May 2022 06:56:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235140AbiEDK4u (ORCPT ); Wed, 4 May 2022 06:56:50 -0400 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 869B523BE7 for ; Wed, 4 May 2022 03:53:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sipsolutions.net; s=mail; h=Content-Transfer-Encoding:MIME-Version: Content-Type:References:In-Reply-To:Date:To:From:Subject:Message-ID:Sender: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-To: Resent-Cc:Resent-Message-ID; bh=Byyfgh5KdoOe2K/Vk4t02yiPv5F+2XzxdiCVEHZvgvs=; t=1651661594; x=1652871194; b=i18YfV82hqK4nfYtjduPPoz661Q6gOQfW741CglqozpNp/2 dYzDSm8eGmh3nY1xWb6ANp9QdTcdUsMMUzYauBOyWrzS62+r/X9HOudUtqH8uNWm0TVmhjyXp7huk 59P28gwW8Z+JRdSpdQ78A4PV1hM+7b2iykH5NhUWH9TToJxxcI1GCHmpO22a9mGdkl86YSAw1LitK GTlMQwSgytUEhk03rxsdDT1UBxMJ7jLrKlu4Wcq+Yjq0YWb9zvj0FAdSIrCG1QaNWtaAGK5J9sd0L l/idtAb37a65mUDESBI5yMqkWrBFfvNOz2G0C+MS8Ozu+KkdD0iNhVZMfWKjggzA==; Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.95) (envelope-from ) id 1nmCd6-0020e3-Cs; Wed, 04 May 2022 12:53:12 +0200 Message-ID: Subject: Re: [PATCH 1/2] mac80211: Allow drivers to report avg chain signal. From: Johannes Berg To: greearb@candelatech.com, linux-wireless@vger.kernel.org Date: Wed, 04 May 2022 12:53:11 +0200 In-Reply-To: <20220225232842.32028-1-greearb@candelatech.com> References: <20220225232842.32028-1-greearb@candelatech.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.4 (3.42.4-2.fc35) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-malware-bazaar: not-scanned X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Fri, 2022-02-25 at 15:28 -0800, greearb@candelatech.com wrote: > From: Ben Greear > > Drivers that use RSS cannot get the avg signal from mac80211. > So allow drivers to report the avg chain signal while letting > mac80211 take care of the last chain signal. > > Signed-off-by: Ben Greear > --- > net/mac80211/sta_info.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c > index 43a58b30c6a4..00836f587b6d 100644 > --- a/net/mac80211/sta_info.c > +++ b/net/mac80211/sta_info.c > @@ -2543,6 +2543,7 @@ void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo, > if (last_rxstats->chains && > !(sinfo->filled & (BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL) | > BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL_AVG)))) { > + /* Neither chain signal nor chain signal avg is filled */ > sinfo->filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL); I don't think that comment adds value, in fact, since it's _after_ the condition it applies to (rather than before), it's confusing? At least to me it was ... And if you read the condition that already says so pretty clearly anyway. > @@ -2557,6 +2558,21 @@ void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo, > } > } > > + /* Check if chain signal is not filled, for cases avg was filled by > + * driver bug last chain signal was not. > + */ > + if (last_rxstats->chains && > + !(sinfo->filled & (BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL)))) { > + sinfo->filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL); > + > + sinfo->chains = last_rxstats->chains; > + > + for (i = 0; i < ARRAY_SIZE(sinfo->chain_signal); i++) { > + sinfo->chain_signal[i] = > + last_rxstats->chain_signal_last[i]; > + } > + } > Now you've duplicated this code ... you can remove it above, no? (Also code style is off wrt. indentation and braces, I feel like I'm telling you that or fixing such things on every other patch, please take a little more care before sending patches upstream, you can even run checkpatch.) johannes