From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 0BB5848EBFE for ; Tue, 25 Aug 2026 23:18:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787699923; cv=none; b=BWkSLq1xWD/NJb5iad6+hwNeG090V7lTRHVirvPFFg66tZH4F5qJELw0+QIzOvf210Ib1AWKHVh5P8cv7xu1TXZsFQWrUKPTAukSpDuGukbAIjttRNotnXnnRSq95BHZc1KZaeLnMW/wwoGrF4Dz0aqxntSln8lLHizXAzxm46Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787699923; c=relaxed/simple; bh=ErR1b5AtCHEKNxWDQFJ1mgI8Ms2qVRSv8VmnA1X6Vak=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MKoUYpKJJvxlVHjmltDVGLuIwz07Osgrfqd7eg1iqV//8beeuNk9pswfcTfhUjFe3X4QT8SucO0Kk18aGwxX4bZ7Q8KuhbRniiRnO44S0JWVRwxococxT5dJhIvjBbhAO3ux81vn7mEMGzuMAJW41t8NiKGKOHVLojW2Ig+5OOA= 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=eDJJYEUb; arc=none smtp.client-ip=209.85.128.49 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="eDJJYEUb" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4921eed3fa2so2738945e9.0 for ; Tue, 25 Aug 2026 16:18:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787699920; x=1788304720; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=GBczmDlPDOyOE71lusigm64t9wOw32FOsTpylbADhJ8=; b=eDJJYEUb9uCReQP5Fz9/8UYQSDSSW8SvMn+Jrrtrfv59ZSY2G+6B+QO5bN9GSDBu9w 6fVGU3et/EckxJwfa1Wz2we6Ew6CeF3iilpzQVnr09GydmrbAkPTmTX96ztNRvuNzYX3 PE834/JmO6ig5ll3HYYQo+afKiNb6SuwOmtUfZnGsM6A03nqbdQ/cLYVudwI+4R8fKxo /QCRexMYvkwzhGBws844jwNRd+3+Fwp2ZEujSLI/mJlSnYYPYLHWxeCmywdSG1+EmTcF 51XBNWA/dP4cTYMP6RUvg50DcEoP5GWBklJpXSQUG0Qf9ISqJ/CLAqnz+BhtjtT9yGzB M/5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787699920; x=1788304720; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=GBczmDlPDOyOE71lusigm64t9wOw32FOsTpylbADhJ8=; b=IF++9ywSRIACLsViUj0EhoBYr/oyX3BtTUx7VKIrqmlU7MGQY9SeXRSEuHDlYxafGo wv0qtLQJb0MHi/8+ap3KaV147CWFsKwNVNksFSrV+0IKKGHc5z705rzrPTKTpponv7bQ I58W8yl2pqQ5fjlrw8Zw5VpIfIJjci3BbxP9Mtw72sMiUiXF3WG75yrEl7vFM1p4Ijyl E/eqfUJUMSCTYiqv8eIz01FxawfgH74OmZkUgSysNL67goq/K3boSkOYlrrUWBW+5zH9 SXSiMnfRuLncfy31l8B8mC16N9dX/61YtpgWoXHTdDc5sPMGpdaWu7f0334vmO/qnyKR i58w== X-Forwarded-Encrypted: i=1; AHgh+RptLvLSphNfDn5VGBIlOUOPRtRs+8yyxhB4kqJOpsxuatLcfcm6ruzfMi4PXH1h1zQ+OwhZm7lzRv5XkPg=@vger.kernel.org X-Gm-Message-State: AFuF++meb5iNEeDwFUgR+3BoZQeiZB6831oVsLiVPnobbv7Mg694ZWEd cDMNy73oBPNVzRggtMzC22w4tAvCCLzFVtIhQKydtkMabTXO9tMkQsOU X-Gm-Gg: AR+sD10hlo1d2NUfA8ZPf0rXKh5fFmV7BdUHsUkceL49b3IAxBlCXr8LtO8QrbwU/ZA yq1Bgib5YpbcO0BNcGhxbFK0XfYTsHQxawQsQHJlBHVtHEyXWAanbUmucuoV2paQh6gXgLynDYp Hx17jPTr60KGoiEI6jdzw4kmarUcezsjXlaNyRXs0IgP/XFGWujph9I+C+c6KAiUWLQAyuI8tb3 SIDhtnoNAr6O/jIfjJ1WsiO4ffaR8UoNNdeC8CdfWyKjYViHGDmVk4MAnTBJGd6zsjtICshgZjE kz0BRC1IXzdOqZx/kMLWDSY+aY9A03MLEphuVS7NFVuFAtHvUwKBt2uHTyEilvqnsCRkt9uykNy INVHxb3DBtgoh1NvH+oi2mfW5hkyJ3Nw5R0XUUf309dzXMdlgxPa5ivjX9WqQ5SYHpWboQZqZve pXm9kXs4HixX4BsRuTpkJCUMXB6jjK27UpGJGoqP/DUXTuGCV46dFJN4xbgfoEec+HeWpaKJuTe L5BG0Zn9eCTOWCpz41HA/lnDIr9j1e/O2/APYPT4p5xHak6 X-Received: by 2002:a05:600c:c48e:b0:499:9240:9a1c with SMTP id 5b1f17b1804b1-499dc82ced5mr17382165e9.15.1787699920268; Tue, 25 Aug 2026 16:18:40 -0700 (PDT) Received: from dohko.chello.ie (188-141-5-72.dynamic.upc.ie. [188.141.5.72]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482e279e8b7sm864017f8f.7.2026.08.25.16.18.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Aug 2026 16:18:38 -0700 (PDT) From: David Carlier To: Jeff Chen Cc: Francesco Dolcini , Johannes Berg , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, David Carlier Subject: [PATCH wireless-next 1/2] wifi: nxpwifi: fix inverted check in Tx BA stream entry deletion Date: Wed, 26 Aug 2026 00:17:09 +0100 Message-ID: <20260825231834.244783-2-devnexen@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260825231834.244783-1-devnexen@gmail.com> References: <20260825231834.244783-1-devnexen@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit nxpwifi_is_tx_ba_stream_ptr_valid() returns true when the entry is still linked, and every caller passes an entry that is on the list, so the early return always fires and nothing is ever unlinked or freed. Entries leak on every teardown and, since nxpwifi_space_avail_for_new_ba_stream() counts them, Tx aggregation stops being negotiated once the stale count reaches the maximum. Changing the original dead && test to || to silence a NULL dereference report inverted the validity test along with it. Fixes: 00c786a7581e ("wifi: nxpwifi: fix multiple static analysis errors and warnings") Assisted-by: Claude:claude-opus-5 Signed-off-by: David Carlier --- drivers/net/wireless/nxp/nxpwifi/11n.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/nxp/nxpwifi/11n.c b/drivers/net/wireless/nxp/nxpwifi/11n.c index c2a54d781b42..25b2e430f3f9 100644 --- a/drivers/net/wireless/nxp/nxpwifi/11n.c +++ b/drivers/net/wireless/nxp/nxpwifi/11n.c @@ -451,7 +451,7 @@ void nxpwifi_11n_delete_tx_ba_stream_tbl_entry(struct nxpwifi_private *priv, struct nxpwifi_tx_ba_stream_tbl *tbl) { - if (!tbl || nxpwifi_is_tx_ba_stream_ptr_valid(priv, tbl)) + if (!tbl || !nxpwifi_is_tx_ba_stream_ptr_valid(priv, tbl)) return; nxpwifi_dbg(priv->adapter, INFO, -- 2.55.0