From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 D402D397AEF for ; Sat, 15 Aug 2026 11:56:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786795005; cv=none; b=RRUkp+dnIxH2u4QS4T/RWkPSlLygeiQqsiI65GeRSd2us2B/ed5gutGqeIWkEFKBAEfHynsMmb3MRxfO9PxSjzGWZa2XpTnjf8t9UiW7wv3djlJQJI0vzXpoDHqaR892JymjmNE2kIXj3tqAktw1Vx8OaJT+T1x08AtSpcO0xtk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786795005; c=relaxed/simple; bh=jryRxjqTE3dL1Kz6tqHtb7AjwGT7zGFF9zHrjezAJBA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pL40czWrnrKXykDIoHEeRDtufn1FSzQ5fGDbaLXebnR5lgY4gS7cxhtYlGcd+ps6MwqPPQcZDS3Cq1+Nf0ot0Fz2YUMYOxPaxX3CkSOOsNa5TrGESTpOUQhaMu/5YX0pD7Vmep/PZKQy5Y6aSo3oVhWmxZ77snrruOsP+IAJ67E= 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=QmzwoxCh; arc=none smtp.client-ip=209.85.128.54 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="QmzwoxCh" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-495437bb891so14126345e9.1 for ; Sat, 15 Aug 2026 04:56:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786795001; x=1787399801; 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=2EvcCjXX/E/EH5B0VOq94NnG4HOn80gOVENNBtRlSfE=; b=QmzwoxChX9eYXhf8sV61oBYLvGLxWt5QlcG+qgxglyOgmuwSWtIkW84zy6i2ASFV3R 2nj7VijpRp/3kLyilleS3eSFHldJYU0FfnMnjBsUWRKG4ySOd6wvLandFNsC6O/shHwa 9i9/xOxswECYsUG9YqBrxYKfZWi1DOkJFV8voSABLXQ+nZVFlwh+hJXi+U3Y1Q4+5FuT vevz7uQ8dsg5L3+1NFEo08Vc3x/BdTFQfEP5zy4QEPrW5jf2Fd6XR+1uJR/1/GLv165w 1EfOhN0Uig02/BPf+Hu22kjnrUTETZBzYPX8yn4XtGVcHrlncms3iiVNQSEKY7q9zPxF jaxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786795001; x=1787399801; 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=2EvcCjXX/E/EH5B0VOq94NnG4HOn80gOVENNBtRlSfE=; b=LfpbwJtfo5pBhO+hXlNn0Nj2cN3a2gB6NDYwIixtnIDjnxZL9tXLFgd5o86BWwdMtq nJ1O1h/zx1oIZvjlscqCCeRIQArCK03C0/3RB4x17trzdlQ+zXGAqrcRufgX7WGhKjLr W8hrKerNoHJFg0UwfmueA4u0iSs2A/y4K8JdFP4WNHUInerMe3qwcd0ui2hs+x1nLufN x7T1/LKayhi+jRIBX71E9S+jysZ2q8rXHSP7w6Dr0sLz6t1MZQLflr93KvRjIKbxcVNr V9a1MlLwd6yzOD+NxwxWvjpopbwSSCM447Ifap5i8fH1fJAr6BmCumeg7NZLM3Ji++Cw 6j4Q== X-Forwarded-Encrypted: i=1; AHgh+RrCT85QyGb225aeV1LsipyRni/gV+CK4eG4JzdJY48KLsbmioWkGJBerBX5MfMa+iGCNF/CkwCmsRLEaVk=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2fDaGZuYU5wTSGgcM11oALYNeLRoCOyrV6MqXREmWS8knHEdu mQpaOr69QDykTRr/cj2xi0cObu4foGu3gEts8YRwa/R0dshTzjHlLFHk X-Gm-Gg: AR+sD10Dwp2i1txlFlnQjYNjPfo2XLN38WqL89VORV5lpLmwLNRjoEVgpymj5unIa1n MsQua+B2jtQGTKcKcrcAVv31he2cqQzjZ9JXZhFGHvkfuEysOx/e/UG9LqM/IJMJIlmpZUK4/BK lOiIrflPM9zkNjOLoJoXHLIvDvGO5hlXFfIvgyC6WgkVQKrGedGcslj/jUySB4Ax4PsPl89WNBN AWu0gykwxyfrFGDvhHfW1KcbV/qlmXaonXriwln/i0Qq4w0cst3Ar7vi4HF4PB89DxgO4BF4EZn mlPiW3gvt5O2FwlaiL3RGohqO/l1ogqldcPSCNAcGh96VH5uCH08xOaJ4C5Nc0U3wr3Kn+lxa9P lZs9rmtna7I3OrdHn52/MMs8s0t0ELUvEpBt5090YX4GDWFxTrrdoQ36I16CVDU8yCfLxtapmqT IC4KmTmpIhzRNnzM0JHDS51r4K/B6LbsLAt813oUR1Z+6SYxlKGco6vjlzEqX7ri1Aj9/85QaKv f1GRG1Xk7K3gH5KcA== X-Received: by 2002:a05:600c:4309:b0:499:8afd:4a9f with SMTP id 5b1f17b1804b1-4998afd4d6cmr78007035e9.0.1786795000955; Sat, 15 Aug 2026 04:56:40 -0700 (PDT) Received: from archlinux.tailbe3ea7.ts.net ([185.19.153.11]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4815f2c129dsm16085455f8f.26.2026.08.15.04.56.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Aug 2026 04:56:40 -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 v2 1/2] Bluetooth: btmtk: Do not report success when subsys reset fails Date: Sat, 15 Aug 2026 14:56:23 +0300 Message-ID: <20260815115624.8309-2-ismailtarim7@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260815115624.8309-1-ismailtarim7@gmail.com> References: <20260815115624.8309-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]. The path can be reached on demand by asking the controller for a coredump, since btmtk requests a reset once the dump completes: # echo 1 > /sys/class/bluetooth/hci0/device/coredump 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 The same sequence occurs unprompted when the controller firmware asserts on its own. 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