From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (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 282A07260D for ; Thu, 25 Jun 2026 02:37:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782355054; cv=none; b=P2viGQNkyM8ZWdg8IZWOBXF9XDtD1xSKPtKAuLHcP3Ajfi4kGdmXiqqTIyjVbS4m7uKuGbqS4+RktpD/rGwMNkvOcr+Yo6QcwGrQbi+++bVUAZ5JEJGli/dveq1u/VC63qcUAlEEUdvRGr0GbfAGcuY2EScoUQVse9boKaJyxw8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782355054; c=relaxed/simple; bh=VHxlxuQvJlNA0UWoVIyaXIelcSlBdqlwTsdrQ2MJzzo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=J/eFEp+mCAT2JSuwCyJ+arRv7fpcl6lSiIsqz5koOEhP4RCWrujLxkN8kq6iSxPzrbZ6dABCRIO3NpWWXFwqrnkp+sDCD6xrgPVLjxyzSdKmnYqUue95oRQbAToOzJQwlVSQqpNLcLKEnaHPsf2A1h21DSvnrBK0cpt7Zdjedk0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ePtYT9OS; arc=none smtp.client-ip=209.85.215.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ePtYT9OS" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-c88eb5e7713so638660a12.1 for ; Wed, 24 Jun 2026 19:37:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782355052; x=1782959852; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0RbYdrtiz0S1qZwSlV7SlhIGyN4CrZOKaqjvP5DOs/o=; b=ePtYT9OSd/85ANMkm08LPUdJyfFkeHZpX0g4UfPPw8J83CWbsTRi6KJXTxDgvdishC 2lJ6Yf7TD6X3Ozym8I9nKOrTA1+Gn2otNlKUTHxXUK24n4JTSRVSZFCFLgref9oWbaGD ezlR3+/1znhIG3itbL4CfCpAljJ9mR7zSAARoS7z+stJ9ba4UnnybrFhKRyZQfNULw9s 7J2tf7j8+s3o4Ohn0X/kNMkRMNFXK5+DH0x9Bb8jcq3+SMeyPYtdcRupuGDkVY+KGHxC GrbfbNR6zczPNoOVc30V5wAkUmTDQiwqud6Fx7jz5TTA6vGiL/rpI+dF+2lwyDOPI6ZM jdCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782355052; x=1782959852; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0RbYdrtiz0S1qZwSlV7SlhIGyN4CrZOKaqjvP5DOs/o=; b=BrtY8IFfBw27sEYs1m4tLpKTZcfRMdbVTLXS968X95WEWDatGw1dG4QQZBraXGZ9wm G9B9lIJzXDdgBnMtto1a3IG5+AFQh+UJ9lM1S9UxleeI9sTuMRg/8uDD7cAmRRD0PmbQ 7N6y4735Vm3CRB39FBMBiGFhV8G8C4jMdwls5qxcoTOTfF0szOdYzZ3n5pQ4JZyU2yJJ w9Pz3K4bKggQmAIe2wI3jaCLemXLCSyI0dSRjB5dngH2GuXolptvGMD9/qRF22f/RwC9 JgK7phiCk8WaP7vd5FJSw91/+ClshzOoaiAqyITor/21WhmgQErWYlKklDXvrGGn/ZY5 WG3g== X-Forwarded-Encrypted: i=1; AHgh+Rr3DRH18WaSpoc7Keo1gmUk8vIp4l9DVclNo/0VYapPw6YLQNXNL0+cuJ0+Q0fm2wbSP1CQ/Od2abhgsbs=@vger.kernel.org X-Gm-Message-State: AOJu0YyxvwmDTPMu1Rex4vIS1ByXwA8Q1Q1fbPpApyy59NS1b99XLkro 1gYOfd+cnSurNoZu5uRaXy4gnyzeRZklq6ORi/65EAASaomiG60Rkh9W1QHtHQ== X-Gm-Gg: AfdE7cnU/l/sRyktMM56rJ+plyT9IBVBZpVgkwkq59LhHJ07OBupUkYZOQXh12qoUN5 6QRAzWEDFUSDjfSJ4B2HkoIQhhHjd7Bp4Iqkyw3apTbcYM47Ov/2zioTOZmVc+X27K/Z/dBt5QV HyYesh15rg05PrhWTEVeN/4o3JPVQWYG4wE3GlQMZPdywHYw+Gur0JWoQEcq8mU0sB7SLvst5lD bdSskAL2ByRHaBn3Z2rpcU94WK6XoE3naN5pNQ4qud4N1A3IJrvEGlQaEHZQstaimCyZ9qZlPmN 0p5VogZ3HoMbOoKs0dCTGvhE7XK3SHcul01plHzgP49nT17SNeUiPNtvae1Jy6v6KPegWtO0qPT m61OxghyR5a34Akv+jsOA4eGQlc2gKHoVKxm5gZyLvn3W7cbaYANN5SGUt2Ejs0iR0TEx8HX8O1 70iwgrEgWjozG/2Rbnuv0BdCZgFsIz/L7/WVXf9Q0RI21vnE0+2rBSNaHUNmJ85TOuXB7FOeVx0 xRY8YOeIg== X-Received: by 2002:a17:902:e54d:b0:2c6:c9e0:2c15 with SMTP id d9443c01a7336-2c7fc74c0c3mr8282565ad.22.1782355052349; Wed, 24 Jun 2026 19:37:32 -0700 (PDT) Received: from ryzen.lan ([2601:644:8000:5b5d::e34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8c26sm9283685ad.1.2026.06.24.19.37.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 19:37:31 -0700 (PDT) From: Rosen Penev To: linux-wireless@vger.kernel.org Cc: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , linux-kernel@vger.kernel.org (open list) Subject: [PATCH ath-next] ath9k: return ath_buf to pool on A-MPDU subframe retry Date: Wed, 24 Jun 2026 19:37:30 -0700 Message-ID: <20260625023730.345134-1-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit When an A-MPDU subframe needs retransmission, its ath_buf descriptor was moved to a local bf_head list that went out of scope without returning the buffer to the free pool (sc->tx.txbuf). This progressively depletes the 512-entry TX buffer pool under normal retransmission conditions, eventually stalling all TX. Unmap the DMA mapping (a new one will be created on retry), clear the buffer references, and return it to the pool via ath_tx_return_buffer. Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev --- drivers/net/wireless/ath/ath9k/xmit.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 57e451548958..350eed276cc0 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -665,6 +665,15 @@ static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq, * queue to retain ordering */ __skb_queue_tail(&bf_pending, skb); + + if (!list_empty(&bf_head)) { + dma_unmap_single(sc->dev, bf->bf_buf_addr, + skb->len, DMA_TO_DEVICE); + bf->bf_buf_addr = 0; + bf->bf_mpdu = NULL; + list_del(&bf->list); + ath_tx_return_buffer(sc, bf); + } } bf = bf_next; -- 2.54.0