From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 D590837F30D for ; Sat, 15 Aug 2026 11:01:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786791696; cv=none; b=cioKhPaUw4vccy5QdNyfu40mN7p9IUkHL5rmaY5LzbLEFijOhqcn/7sWYh64msI8ZrJ3X2+bfIARBxtoIZ/Tt+eBX/YtJiKFqNmpgGfr9vHdppvb6DXitF+/CS/ZSWXVFYwg6QmCoYtFX4Yi2ltVLucqZeD6kg4n/Pr3b9wlzHg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786791696; c=relaxed/simple; bh=hUrEZHb5J9leLF9C4izObyVHkwOLF5zpgSLXsiveMEk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=necJciEGQgjVnVxg8/W02rJLuemPOHSPsvXyEUdmgIFLjQSHzA6bNIL3IM649k0rg6GhfRE9bWJE5UhdRKYgu6fB5F3RbYt73MIe9TKaY1dMbsuPK+DyJeolT6Zza+yrdpwHtup0rLCofhIXHr4j8OK2Tt/xK9Co8yMUKiWqfyo= 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=nXMk2GiY; arc=none smtp.client-ip=209.85.128.46 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="nXMk2GiY" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4954a9e8490so17840955e9.1 for ; Sat, 15 Aug 2026 04:01:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786791693; x=1787396493; 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=3ptK48I+o/8rObdtxGC8ySPWO1bsJQ+ZYfLF90RICns=; b=nXMk2GiYPlQ29MxJP93Are/Dtae2JmSmIE7Bx9YaL74Sd9VHWBTNHPJ6sclik2ZUg+ 6oV3hFQQfxThF9sMWclGYJw81URCY4liBg+HRJol7ZuwLNHsFsTZJOnB2HepmRbzPLyF vNaZ6PZck8KpfZLiVAbfC7Lb3Z3IvKij0WJBZK0pwht7e9NuJG4pIY1opeSkZAj+GDJU RHcu4oaEp3ArdxmFtcAufilWIPIhp9rNl3rYnUF/+dt7M4P0PInQ9hCAln8hhx296TNP Ez9ldrilYwjhd7i5qqr6li4C4+Ux2BSAKI5c3T5G6cTl/pQGVrRhwBkHDuVktLeCt+ZU 7Xsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786791693; x=1787396493; 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=3ptK48I+o/8rObdtxGC8ySPWO1bsJQ+ZYfLF90RICns=; b=qw6KpQFle0WNdTL4Sq3NpzhKsB50z1ZZLY74bA61UrOw0Ihbv6gdFeB4+vVURgrRac GCKB/xc6rLi+OeouhkT262CIkLkhqJ4P9MqUE+UGf1d+H9YxWmeP2jk5uwtNUI9NVUoi 5OQUFZgioj5npC7Bmw5cjkqtSC8XHHLzHDJzDVJTMpT32jVRU7hHIeSyFpgrnyIwLOIG UuCR7AYzpLE9Kls8McJ8O5GDA3pEkU8VaJZa+OLIXJhk8jy2Qd3QoW3YtMatsUgvAnLc NGm+rOZUgyJi49yNE7ZqKD+SHxpGMt03gGxOMAhqeH64eF9hUnvVicHka5lPDA78ZUhB mx9w== X-Forwarded-Encrypted: i=1; AHgh+RouK+qofHCECgavfTtjt+eM+G1TNgTiVqvUluYmkK6VkIWHVvwGLeLdSiIGJ3fuowP0RzFV2f8A/LXqA74=@vger.kernel.org X-Gm-Message-State: AOJu0YwvLhJRZwZlUyUbDsB22/AcKv6KKpTm72+YeJ0d0+wL9veXZJF0 L/k3OxTrnOpjOH0R5wpWGwtjBtkelPgCyPLpJKq3dYO6pf0+TxCwepPx X-Gm-Gg: AR+sD11FC/HX2SIasofU/usyZR6hbIk3Nf91KYuudlhsvXjFsal5oKh1SW/z6PQ/NIF WmU7t5X2Id8zi5K4F5sbgn2cR2xsxCPKceRcwLLnki4QN++84PeEKfnPSnPVZ9yqR/KCYLrEXq6 wx0YfH2fpErMYB8jC/YJ5G5Tjbwod2bXAKvz22QpdVKrCymweh3/SRyrIn6938KjXYydv1H2JlW AXpvfrC8LfxJWboNQ1mZLSSZPuCFAfe9xASwx71wnHHe7bBGlIveyj6kcm9XY2kCKqyLSp4nMz9 SB5DOIQ08ZDkLLoBkQdF+0dFCkKjZ0BueaeUoYR3nfodgSRzGH8DiCy4tolxmbi/svtnHKJraT1 kxDPjqFZg2t+qcXwtlwYU7CXFTcSvCbVaPEtwO2XmoACzblGP6tlB3zPHkVsEarxZusdWd+KaJq dBF8w+kz38bssHdWZoLTcIafwui6vQ7pPR1q+4RHyL9PzcibYE7MYz7vGYT+YOUNQceseaUpvlL 0sjN0Ap246L1w== X-Received: by 2002:a05:600c:4e14:b0:495:3bc6:d381 with SMTP id 5b1f17b1804b1-49987a4f03bmr179458435e9.2.1786791693056; Sat, 15 Aug 2026 04:01:33 -0700 (PDT) Received: from archlinux.tailbe3ea7.ts.net ([185.19.153.11]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49988b1d8f4sm133728035e9.11.2026.08.15.04.01.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Aug 2026 04:01:32 -0700 (PDT) From: Ismail Tarim To: Marcel Holtmann , Luiz Augusto von Dentz , linux-bluetooth@vger.kernel.org Cc: Jing Cai , Sean Wang , Chris Lu , linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Ismail Tarim Subject: [PATCH 1/2] Bluetooth: btmtk: Fix btmtk_usb_subsys_reset() reporting success on failure Date: Sat, 15 Aug 2026 14:01:18 +0300 Message-ID: <20260815110119.11301-2-ismailtarim7@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260815110119.11301-1-ismailtarim7@gmail.com> References: <20260815110119.11301-1-ismailtarim7@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 btmtk_usb_subsys_reset() validates the subsystem reset by reading the chip id back. When that read succeeds at the bus level but yields an id of zero, the reset has demonstrably not taken effect: the function logs "Can't get device id, subsys reset fail." and then returns the return value of btmtk_usb_id_get(), which in that case is zero, i.e. success. btusb_mtk_reset() returns that value unchanged, so its caller cannot tell a completed reset from a failed one. Return -ENODEV when the chip id reads back as zero, leaving the existing MT6639 exemption intact. Observed on an MT7902 [13d3:3579] where the controller firmware asserts and the subsequent subsystem reset fails, yet the driver continues as if the reset had succeeded: Bluetooth: hci0: Mediatek coredump end Bluetooth: hci0: Can't get device id, subsys reset fail. usb 3-10: reset high-speed USB device number 5 using xhci_hcd usb 3-10: device descriptor read/64, error -110 usb usb3-port10: attempt power cycle usb usb3-port10: unable to enumerate USB device Note that this corrects the error reporting only; it does not by itself make the controller recoverable in the case above. Fixes: 25b6d7593a3a ("Bluetooth: btmtk: introduce btmtk reset work") Signed-off-by: Ismail Tarim --- drivers/bluetooth/btmtk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c index 66b346761043..dc702c0a6034 100644 --- a/drivers/bluetooth/btmtk.c +++ b/drivers/bluetooth/btmtk.c @@ -968,8 +968,10 @@ int btmtk_usb_subsys_reset(struct hci_dev *hdev, u32 dev_id) } err = btmtk_usb_id_get(hdev, 0x70010200, &val); - if (err || (!val && dev_id != 0x6639)) + if (err || (!val && dev_id != 0x6639)) { bt_dev_err(hdev, "Can't get device id, subsys reset fail."); + return err ? err : -ENODEV; + } return err; } -- 2.55.0