Received: by 2002:ac2:464d:0:0:0:0:0 with SMTP id s13csp3675811lfo; Mon, 23 May 2022 11:05:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxeFnGHMVr1E4c84hoUzm8fFXBk7a8yJor7rs47gXCGSIcgiDWMAK7c8cNTML8CXfFHEuYh X-Received: by 2002:a63:4e20:0:b0:3f6:52e5:e4cc with SMTP id c32-20020a634e20000000b003f652e5e4ccmr18171863pgb.421.1653329141649; Mon, 23 May 2022 11:05:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653329141; cv=none; d=google.com; s=arc-20160816; b=0SC6uRURCkarMW6XArVpvXxTUvgJoSv98RFjSuocZwXd06Tx5Lu7LdwE0jGrgE7sFx 1paqu8u4KXsLpqqgxHx/dK9k0wcvyuhx6+KHKhmsChaQk4Ux6XUyRpuEU8PKOwerlTuo hHUMoBTYHYOTTgBHjGkF59shWo+zasEuXrZd1nOwJEOjKeTNJEYj2sy6ghMAVm5C87mm ee1RmMDTXigEKNYa2vJlgglf8qrTFwl01tDKBcw70Eb14HRtsmjblMtEFfDCHKHFP2aH L4/Zi0zB8g1yD0KzNTBTyZS/iOGtV46Q5zcSnofnmsgfz0kRIAZChj1Fm51muY/E9el4 a55Q== 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:message-id:date:subject:cc:to :from:dkim-signature; bh=YmntILVqGJIC66s/pUve5bcsymLTAxmf6Dz7iEup+vU=; b=FhCCiJ7Xop9Z16+6CU/PJQGM3SAU6RGwkVWXAAZ/7fmh8ymV3OMEom39ajUv06VS6U jU1XoecWhszleVOpRTdMEjxjLj7zxrGegWS/vOZwU4GkZRqSjkjV3ss2xysWpsuCXOT1 P8/ZPrchy/1yD4O5YoJGw2iTVlYJxjF04WTvttuLm9llbfbDtgctXt6Aw1Tf/7dF3i00 C83XJeVJgigrvZSMkYG+r29nd6VJ7S+MMOJbEuQpXlkhtxzQP9ljg3EHsqdsIjuuG1pb rvwlVqj2szUNdxprvcB1vSMlVa2v1PngPYeDvKtZ6WoeWI8T0jOJkSCShoWmRJbiLG/K hsfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Y0sFvTTG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id f12-20020a63510c000000b003c2163cb9d1si10168589pgb.493.2022.05.23.11.05.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 May 2022 11:05:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Y0sFvTTG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 52692134E15; Mon, 23 May 2022 11:03:07 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241115AbiEWSAF (ORCPT + 99 others); Mon, 23 May 2022 14:00:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241007AbiEWRcl (ORCPT ); Mon, 23 May 2022 13:32:41 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E236D7890F; Mon, 23 May 2022 10:27:25 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5F298608C0; Mon, 23 May 2022 17:27:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6E5F3C385A9; Mon, 23 May 2022 17:27:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1653326844; bh=wP8oCIlK2oDbgwEMgq/WN9tjdtUuWnR4GBzeW+e+HSw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y0sFvTTGQ93AwdlsYIxuh6KuV9YQUMSQe/gNAV7JAyON3XHqOeLRFg01K39rsUxSf WnhbcZno9zx7U6kMe3OJizOK1oUDrs7umAC23Ypf0VR/SvBiWO5fVekCd5i8hGPwh+ CLEbZ7xPmdQzrT27FupEQk09z6yE48S9TwpzyO6Y= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alex Elder , "David S. Miller" , Sasha Levin Subject: [PATCH 5.17 077/158] net: ipa: record proper RX transaction count Date: Mon, 23 May 2022 19:03:54 +0200 Message-Id: <20220523165843.777492251@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220523165830.581652127@linuxfoundation.org> References: <20220523165830.581652127@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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-kernel@vger.kernel.org From: Alex Elder [ Upstream commit d8290cbe1111105f92f0c8ab455bec8bf98d0630 ] Each time we are notified that some number of transactions on an RX channel has completed, we record the number of bytes that have been transferred since the previous notification. We also track the number of transactions completed, but that is not currently being calculated correctly; we're currently counting the number of such notifications, but each notification can represent many transaction completions. Fix this. Fixes: 650d1603825d8 ("soc: qcom: ipa: the generic software interface") Signed-off-by: Alex Elder Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ipa/gsi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/ipa/gsi.c b/drivers/net/ipa/gsi.c index bc981043cc80..a701178a1d13 100644 --- a/drivers/net/ipa/gsi.c +++ b/drivers/net/ipa/gsi.c @@ -1367,9 +1367,10 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index) struct gsi_event *event_done; struct gsi_event *event; struct gsi_trans *trans; + u32 trans_count = 0; u32 byte_count = 0; - u32 old_index; u32 event_avail; + u32 old_index; trans_info = &channel->trans_info; @@ -1390,6 +1391,7 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index) do { trans->len = __le16_to_cpu(event->len); byte_count += trans->len; + trans_count++; /* Move on to the next event and transaction */ if (--event_avail) @@ -1401,7 +1403,7 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index) /* We record RX bytes when they are received */ channel->byte_count += byte_count; - channel->trans_count++; + channel->trans_count += trans_count; } /* Initialize a ring, including allocating DMA memory for its entries */ -- 2.35.1