Received: by 2002:ac2:464d:0:0:0:0:0 with SMTP id s13csp3670164lfo; Mon, 23 May 2022 10:55:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw9dZP7UdzimdplHJDcFDHXcyZzJaRvXlFn8l/N+J/DtLGI5OUWUSBGY5tjVfnAUJdzZRBU X-Received: by 2002:a05:6a00:a1e:b0:50d:bb0c:2e27 with SMTP id p30-20020a056a000a1e00b0050dbb0c2e27mr24525029pfh.49.1653328549812; Mon, 23 May 2022 10:55:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653328549; cv=none; d=google.com; s=arc-20160816; b=oY1ZAdM6a7wt3zBqJJOMazIv/ozI3byh/EZlV0s+cq+cjloFozAFEzz7MMLYj+B88D hKort6YUWAxwyb70TRt4dKb1XzisIGw0Kyy59J3ZGY6vdrhBJWP0JW1UQwbi1mqIaDz6 iDvuHVvX/pn7WWkcFxpZOSmMX2lE3HI+hryl9lacQ360gyLCVPHzTjNdWkrYPNNPpCTr 6YfZ5r5LygYM+o5XfGrkvNp8hgga07LKc/kfqoj3aBYes53rKINiavkAKa73jVIwGV+U bBpp/Txr8O644CT5/hNGEKr1+t6+z2QH96kSG02OWnJdZfLN5lcmw8Y+H/ufxIZBF81r sQ6g== 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=aiZ8m7W9Qs62yseb28fUSEI/DKIq1zQCaLJcf8hHvG0=; b=jAeO/eWQiZV7yRLFXXMYeTCK2BbVjML/6KRSzlKr0kkm/Kneu8J3B6X6PJm5Oui2g8 avOtQ7r7JMaXnWFC+50V1oyyYiBvdTg7N10Uv1MYuKJ2FZmX9BQ8KA5yyXeRmxTCKiYi GYKCdP70Kqj1oUg8GXqEVRh7lEqe55KBD0d99dwwR26d1w/3G0jJjRxkHFzovdxPXF6o ML1KPXVz22xkAivg0SHZsJUylvpbBvRdSWq4447RTfiWj3h6HeB2diDfwu1SiszPsfrP DIHx6G30+AoNpVcXlB+P6axuj+219PptAwg/3eXLTCCpc0PjejP+1Q+ev2tz2JGz58RJ iOYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wWhBjVUn; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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. [23.128.96.19]) by mx.google.com with ESMTPS id s10-20020a170902ea0a00b0015d44b29005si12165034plg.413.2022.05.23.10.55.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 May 2022 10:55:49 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wWhBjVUn; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 4D2EE11CA05; Mon, 23 May 2022 10:55:27 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244569AbiEWRwJ (ORCPT + 99 others); Mon, 23 May 2022 13:52:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43408 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241390AbiEWR0p (ORCPT ); Mon, 23 May 2022 13:26:45 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B1576719EA; Mon, 23 May 2022 10:21:47 -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 F0A0160C07; Mon, 23 May 2022 17:20:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0B6AC385A9; Mon, 23 May 2022 17:20:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1653326403; bh=JoPtU68O5a47132Y5jVvQFSns2yuUntzeYmZPcEaBfY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wWhBjVUn/73iLUmLtOMUVMoHUX+UrWAFTsCIjGavRJ+vSNBqD+j11+PR3AuXSzmf9 zNMZ72d5MBF4Lm5JoK6wOzKkZ0/cc9Hafp0MLGjfofS4mVYheV0LVlGGhHTIizHQdt qHE4VaVZtgnkidDF9unO2B5N7cqV3If4n30dzT/c= 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.15 070/132] net: ipa: record proper RX transaction count Date: Mon, 23 May 2022 19:04:39 +0200 Message-Id: <20220523165834.768895142@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220523165823.492309987@linuxfoundation.org> References: <20220523165823.492309987@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 a2fcdb1abdb9..a734e5576729 100644 --- a/drivers/net/ipa/gsi.c +++ b/drivers/net/ipa/gsi.c @@ -1370,9 +1370,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; @@ -1393,6 +1394,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) @@ -1404,7 +1406,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