diff options
author | Sean Wang | 2019-02-15 00:19:35 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2019-05-08 07:21:52 +0200 |
commit | 8897bf03ec303e64d8cb3e609e2aa90e5dc9275d (patch) | |
tree | 192b780d9719d7a5e221cec43db61be22b6c08a6 | |
parent | Bluetooth: btusb: request wake pin with NOAUTOEN (diff) | |
download | kernel-qcow2-linux-8897bf03ec303e64d8cb3e609e2aa90e5dc9275d.tar.gz kernel-qcow2-linux-8897bf03ec303e64d8cb3e609e2aa90e5dc9275d.tar.xz kernel-qcow2-linux-8897bf03ec303e64d8cb3e609e2aa90e5dc9275d.zip |
Bluetooth: mediatek: fix up an error path to restore bdev->tx_state
commit 77f328dbc6cf42f22c691a164958a5452142a542 upstream.
Restore bdev->tx_state with clearing bit BTMTKUART_TX_WAIT_VND_EVT
when there is an error on waiting for the corresponding event.
Fixes: 7237c4c9ec92 ("Bluetooth: mediatek: Add protocol support for MediaTek serial devices")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/bluetooth/btmtkuart.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/bluetooth/btmtkuart.c b/drivers/bluetooth/btmtkuart.c index 4593baff2bc9..19eecf198321 100644 --- a/drivers/bluetooth/btmtkuart.c +++ b/drivers/bluetooth/btmtkuart.c @@ -115,11 +115,13 @@ static int mtk_hci_wmt_sync(struct hci_dev *hdev, u8 op, u8 flag, u16 plen, TASK_INTERRUPTIBLE, HCI_INIT_TIMEOUT); if (err == -EINTR) { bt_dev_err(hdev, "Execution of wmt command interrupted"); + clear_bit(BTMTKUART_TX_WAIT_VND_EVT, &bdev->tx_state); return err; } if (err) { bt_dev_err(hdev, "Execution of wmt command timed out"); + clear_bit(BTMTKUART_TX_WAIT_VND_EVT, &bdev->tx_state); return -ETIMEDOUT; } |