From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC2FBEEBA; Fri, 6 Mar 2026 08:52:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772787135; cv=none; b=rXb1DQbk6W2LYmTVbP3Vbz5II3214qufEwDkruTmTVcoqKzvTA6/KMbdjiwjNriY8P9SZkSvOiQGwy82aPwRdBMeMJXDoJkuR5Jv2SaZxpJqLK06/S6KUCQ2KHa+AY6UzpBDEGiYf5MX9g0oaEUrOobgkeUfAIWD+UAe9QMqlbA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772787135; c=relaxed/simple; bh=BC9phG/uboNPNh++ClnGxy6uWEWlwbWxQo4UxGMm2EY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=tElSrgjgBIzUFi2/Rx7jVHu8e/DjGqaR4sA/RUOBHw5JEls32atN5m5FPSfWTLgEA4LynCSnz3oY+9HCTr1xuJUImbLJJlaP5E7qMKJnbpiaCkvrXU1kHI+6KDGSfEUs6Zqf0PZg4kJvVGDRLpUXC4dUBAvCQbncO+Nblb2gWNk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SEpDIqvv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SEpDIqvv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7950BC19425; Fri, 6 Mar 2026 08:52:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772787135; bh=BC9phG/uboNPNh++ClnGxy6uWEWlwbWxQo4UxGMm2EY=; h=From:To:Cc:Subject:Date:From; b=SEpDIqvvLiMR0dN4BEG/ouA8ijTft3I0xY8V7JdWUkG2dhmRaImUsEP85u1Oz2Vv4 hw0Y938FmeJwem4wrq8hjbNDIS4JYsFTXgmgvEfFxSUMQTAlJJFm95PEbgJehmI7dq QUFXauzPwW9EEIPr5cZ4Kky+iwmCysLFY1RoMwIEuGKT6LIhntfrGOm8pERW9siwHl 3xV3KFok7O6tWSai4GZ/CRLYbqTm8hCBplGE94Qp+VzxYxml1csNjeSPJczx9j6SO/ dl+qcA+SW3ixrGiqjINMh27vbkCmEsB2Ri0oOGq2gfnaeKKwGfpBuz+XvglwUyAtfd bZpSVkAtlGHCQ== Received: from johan by xi.lan with local (Exim 4.98.2) (envelope-from ) id 1vyQuq-000000003AJ-3KlN; Fri, 06 Mar 2026 09:52:12 +0100 From: Johan Hovold To: linux-wireless@vger.kernel.org Cc: Jeff Johnson , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Brian Norris , Francesco Dolcini , Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Jakub Kicinski , Stanislaw Gruszka , Hin-Tak Leung , Jes Sorensen , Ping-Ke Shih , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Matthias Brugger , AngeloGioacchino Del Regno , Greg Kroah-Hartman , libertas-dev@lists.infradead.org, linux-kernel@vger.kernel.org, Johan Hovold Subject: [PATCH v2 00/18] wifi: drop redundant USB device references Date: Fri, 6 Mar 2026 09:51:26 +0100 Message-ID: <20260306085144.12064-1-johan@kernel.org> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Driver core holds a reference to the USB interface and its parent USB device while the interface is bound to a driver and there is no need to take additional references unless the structures are needed after disconnect. Drop redundant device references to reduce cargo culting, make it easier to spot drivers where an extra reference is needed, and reduce the risk of memory leaks when drivers fail to release them. Note that I sent an ath9k patch separately here: https://lore.kernel.org/all/20260305105803.17011-1-johan@kernel.org/ but I included it here in v2 for completeness. Also note that Greg had already sent a fix for rtw88 which has been picked up by Ping-Ke, but who asked me to send a replacement. If an incremental patch is preferred I can instead send a follow up for that one later. Johan Changes in v2: - include ath9k, previously submitted separately - include ath6kl and ath10k - rename the ath6kl and ath10k disconnect callbacks - fix a reference leak in rtw88 previously reported (and fixed differently) by Greg Johan Hovold (18): wifi: ath6kl: drop redundant device reference wifi: ath6kl: rename disconnect callback wifi: ath9k: drop redundant device reference wifi: ath10k: drop redundant device reference wifi: ath10k: rename disconnect callback wifi: at76c50x: drop redundant device reference wifi: libertas: drop redundant device reference wifi: libertas_tf: drop redundant device reference wifi: mwifiex: drop redundant device reference wifi: mt76: drop redundant device reference wifi: mt76x0u: drop redundant device reference wifi: mt76x2u: drop redundant device reference wifi: mt76: mt792xu: drop redundant device reference wifi: mt7601u: drop redundant device reference wifi: rt2x00: drop redundant device reference wifi: rtl818x: drop redundant device reference wifi: rtl8xxxu: drop redundant device reference wifi: rtw88: fix device leak on probe failure drivers/net/wireless/ath/ath10k/usb.c | 8 ++------ drivers/net/wireless/ath/ath6kl/usb.c | 16 ++++------------ drivers/net/wireless/ath/ath9k/hif_usb.c | 4 ---- drivers/net/wireless/atmel/at76c50x-usb.c | 12 ++++-------- drivers/net/wireless/marvell/libertas/if_usb.c | 3 --- .../net/wireless/marvell/libertas_tf/if_usb.c | 2 -- drivers/net/wireless/marvell/mwifiex/usb.c | 4 ---- drivers/net/wireless/mediatek/mt76/mt7615/usb.c | 3 --- drivers/net/wireless/mediatek/mt76/mt76x0/usb.c | 3 --- drivers/net/wireless/mediatek/mt76/mt76x2/usb.c | 4 ---- drivers/net/wireless/mediatek/mt76/mt7921/usb.c | 2 -- drivers/net/wireless/mediatek/mt76/mt7925/usb.c | 2 -- drivers/net/wireless/mediatek/mt76/mt792x_usb.c | 1 - drivers/net/wireless/mediatek/mt7601u/usb.c | 3 --- drivers/net/wireless/ralink/rt2x00/rt2x00usb.c | 12 +----------- .../net/wireless/realtek/rtl818x/rtl8187/dev.c | 4 ---- drivers/net/wireless/realtek/rtl8xxxu/core.c | 11 +++-------- drivers/net/wireless/realtek/rtw88/usb.c | 3 +-- 18 files changed, 15 insertions(+), 82 deletions(-) -- 2.52.0