[PATCH 1/5][SRU][OEM-5.13] Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip.
You-Sheng Yang
vicamo.yang at canonical.com
Thu Jul 22 08:42:04 UTC 2021
From: "mark-yw.chen" <mark-yw.chen at mediatek.com>
BugLink: https://bugs.launchpad.net/bugs/1937004
This patch reduce in-token during download patch procedure.
Don't submit urb for polling event before sending hci command.
Signed-off-by: mark-yw.chen <mark-yw.chen at mediatek.com>
Signed-off-by: Marcel Holtmann <marcel at holtmann.org>
(cherry picked from commit 8454ed9ff9647e31e061fb5eb2e39ce79bc5e960)
Signed-off-by: You-Sheng Yang <vicamo.yang at canonical.com>
---
drivers/bluetooth/btusb.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 5eef2b038448..8fe03464d78e 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -3313,11 +3313,6 @@ static int btusb_mtk_hci_wmt_sync(struct hci_dev *hdev,
struct btmtk_wmt_hdr *hdr;
int err;
- /* Submit control IN URB on demand to process the WMT event */
- err = btusb_mtk_submit_wmt_recv_urb(hdev);
- if (err < 0)
- return err;
-
/* Send the WMT command and wait until the WMT event returns */
hlen = sizeof(*hdr) + wmt_params->dlen;
if (hlen > 255)
@@ -3343,6 +3338,11 @@ static int btusb_mtk_hci_wmt_sync(struct hci_dev *hdev,
goto err_free_wc;
}
+ /* Submit control IN URB on demand to process the WMT event */
+ err = btusb_mtk_submit_wmt_recv_urb(hdev);
+ if (err < 0)
+ return err;
+
/* The vendor specific WMT commands are all answered by a vendor
* specific event and will have the Command Status or Command
* Complete as with usual HCI command flow control.
--
2.31.1
More information about the kernel-team
mailing list