From nobody Sat Feb 7 22:21:06 2026 Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0FC3D225417 for ; Mon, 5 Jan 2026 06:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767595660; cv=none; b=oeTcI7YGHLvu4tQHOOv7JNBZs+W3Cc9FYSP26zT44/TO243cJ4+tCih/ul0ucchXRCLvPbK3mk5P93ldKPQ+KmyrKlVRFfSIwtkKsf/WIzhy+tJB3WgSDFARVpm8eK+3dsEahXI5633R89ckN/WvoXvWIOrqO0mBYMHakfUStDA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767595660; c=relaxed/simple; bh=ngDFzAk98zblziJi6NX9uVYDoGKo9Nrfyq4QFegNGU4=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=MUxeUFLywfIOd3gdm47NDlDUA2MnnFrQiQunJOWKFbeh2YHusC2PRjYbNde3nVAbvnDFIlHdJn1xWTUXjNvo25SZ3u5b+NaZgZrWz0iP1jrtHMFMOMZ1NkqD2/fXEi12dci5pZtCl5tUWTTu6M5dGJlLNkRQ+XMwvQ4lYDEWABQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--boolli.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=Ysmpa/8T; arc=none smtp.client-ip=209.85.215.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--boolli.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Ysmpa/8T" Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-b609c0f6522so24169904a12.3 for ; Sun, 04 Jan 2026 22:47:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1767595658; x=1768200458; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=mjAQnRT+AxzqanaejE5B0HLUFAhnUu0WbGuSKAysFj0=; b=Ysmpa/8T5Puvbgoy5O73ylg2IPBPEGZtD8leJFHjM8PrZXHUfmkzQXPuWT9TZB9wr3 zy1TMgeLEfXWM3SfifxfXXoRGo27ejbRM2/kYe7ztWludtuKp/1JwW5sdgQgM2165vp1 O4XZQBELs2e0m6vZf3JmaZ/2eRUwKEhmRSYjHPsc3DyPXFT1NsQHAWEYn/YRvxuPM1Kb aR8UfPx4kqc8kkSt1FNUbk+9Sb63aAvXILvIQGCALq25iUYw/aADk0JIo8yjr11N6jDF olaJNks+MbEHBHYoT5X8iMml/cL+jVol75mLa2zRtJ8UjhirzMGC4a+k2cOAfb479/uy 9WhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767595658; x=1768200458; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=mjAQnRT+AxzqanaejE5B0HLUFAhnUu0WbGuSKAysFj0=; b=mfzBmINhlBnbJFjlEoT9nqgeEj8xB+OFgkAAYBEd0CoscAxsi2oDUCE3+PWa/YH13c KHNFcS8zHaDH8TaKOXacn0NnqXFJsOrQDGbPjIQrKAg2QgyJAdZSTMqgNDCnUVXCd1qU LLJAKEOawaRaJyjt34tFm/LWtpoWI9JZZTCa6fK026IJ56kcS0ueqzfjfO89Q+iZewHg bZ/315eRBhtBc6YTTMkWpnTXG5UwWXkLSyBTtUmBGsb9uyOT6TnXKmcphq6Q6lVAh9lW 5Z02E+oOGs+0dT61DRx0x3TFHs382BxK4pkjRYg/23Rhf7Gs3XgflUbJ+dP61/IxMtFN ZU+Q== X-Forwarded-Encrypted: i=1; AJvYcCX1DCSQwnPjra+TWbcK7muNyTikxVcw8umlOXaVpy3EjM/jmUciyvThV+/vyC1ZbisUCcRBJcl/lgdGLIY=@vger.kernel.org X-Gm-Message-State: AOJu0YyU08dlMRv2/9/v8qEVCqB5+p2fx+OOp1Lr3LTrPQFmQUTm3UZY jg9hfkdDBrfB+Lozv8sXm5fevf37c2vvljRz+nNT9JLQMqMk9e/q8qrm5EDy8ttV19X+6hdxKCI fECHDTQ== X-Google-Smtp-Source: AGHT+IGecM3V1/67Gd3XVwwfB7BDjB6Zhr/zQO+BcKcQf4wP5oFodn945+Se44z7byhEdWZJPiihQV1BfV4= X-Received: from dybnj41.prod.google.com ([2002:a05:7300:d0a9:b0:2ac:3545:743c]) (user=boolli job=prod-delivery.src-stubby-dispatcher) by 2002:a05:693c:240b:b0:2a4:3593:c7d9 with SMTP id 5a478bee46e88-2b05ec34963mr39421255eec.25.1767595658236; Sun, 04 Jan 2026 22:47:38 -0800 (PST) Date: Mon, 5 Jan 2026 06:47:28 +0000 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.52.0.351.gbe84eed79e-goog Message-ID: <20260105064729.800308-1-boolli@google.com> Subject: [PATCH v2] idpf: increment completion queue next_to_clean in sw marker wait routine From: Li Li To: Tony Nguyen , Przemek Kitszel , "David S. Miller" , Jakub Kicinski , Eric Dumazet , intel-wired-lan@lists.osuosl.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, David Decotigny , Anjali Singhai , Sridhar Samudrala , Brian Vazquez , emil.s.tantilov@intel.com, Li Li Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Currently, in idpf_wait_for_sw_marker_completion(), when an IDPF_TXD_COMPLT_SW_MARKER packet is found, the routine breaks out of the for loop and does not increment the next_to_clean counter. This causes the subsequent NAPI polls to run into the same IDPF_TXD_COMPLT_SW_MARKER packet again and print out the following: [ 23.261341] idpf 0000:05:00.0 eth1: Unknown TX completion type: 5 Instead, we should increment next_to_clean regardless when an IDPF_TXD_COMPLT_SW_MARKER packet is found. Tested: with the patch applied, we do not see the errors above from NAPI polls anymore. Signed-off-by: Li Li --- Changes in v2: - Initialize idpf_tx_queue *target to NULL to suppress the "'target' uninitialized when 'if' statement is true warning". drivers/net/ethernet/intel/idpf/idpf_txrx.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethe= rnet/intel/idpf/idpf_txrx.c index 69bab7187e541..452d0a9e83a4f 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c @@ -2326,7 +2326,7 @@ void idpf_wait_for_sw_marker_completion(const struct = idpf_tx_queue *txq) =20 do { struct idpf_splitq_4b_tx_compl_desc *tx_desc; - struct idpf_tx_queue *target; + struct idpf_tx_queue *target =3D NULL; u32 ctype_gen, id; =20 tx_desc =3D flow ? &complq->comp[ntc].common : @@ -2346,14 +2346,14 @@ void idpf_wait_for_sw_marker_completion(const struc= t idpf_tx_queue *txq) target =3D complq->txq_grp->txqs[id]; =20 idpf_queue_clear(SW_MARKER, target); - if (target =3D=3D txq) - break; =20 next: if (unlikely(++ntc =3D=3D complq->desc_count)) { ntc =3D 0; gen_flag =3D !gen_flag; } + if (target =3D=3D txq) + break; } while (time_before(jiffies, timeout)); =20 idpf_queue_assign(GEN_CHK, complq, gen_flag); --=20 2.52.0.351.gbe84eed79e-goog