diff options
author | Mark Chen <mark-yw.chen@mediatek.com> | 2022-01-12 08:39:13 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2022-01-21 23:49:27 +0100 |
commit | 752aea58489fd42f5c54dc50cb098d19e486ae61 (patch) | |
tree | 43f0740a2b23721ef925df5f8d25d950c22d7c3f /drivers/bluetooth/btmtksdio.c | |
parent | Bluetooth: btmtksdio: refactor btmtksdio_runtime_[suspend|resume]() (diff) | |
download | linux-752aea58489fd42f5c54dc50cb098d19e486ae61.tar.xz linux-752aea58489fd42f5c54dc50cb098d19e486ae61.zip |
Bluetooth: mt7921s: fix bus hang with wrong privilege
According to chip hw flow, mt7921s need to re-acquire privilege
again before normal running. Otherwise, the bus may be stuck in
an abnormal status.
Fixes: c603bf1f94d0 ("Bluetooth: btmtksdio: add MT7921s Bluetooth support")
Co-developed-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Mark Chen <mark-yw.chen@mediatek.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth/btmtksdio.c')
-rw-r--r-- | drivers/bluetooth/btmtksdio.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/bluetooth/btmtksdio.c b/drivers/bluetooth/btmtksdio.c index 8cbd49013d86..0951bb10d117 100644 --- a/drivers/bluetooth/btmtksdio.c +++ b/drivers/bluetooth/btmtksdio.c @@ -960,6 +960,14 @@ static int btmtksdio_setup(struct hci_dev *hdev) if (err < 0) return err; + err = btmtksdio_fw_pmctrl(bdev); + if (err < 0) + return err; + + err = btmtksdio_drv_pmctrl(bdev); + if (err < 0) + return err; + /* Enable SCO over I2S/PCM */ err = btmtksdio_sco_setting(hdev); if (err < 0) { |