]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: btmtksdio: mask out interrupt status
authorSean Wang <sean.wang@mediatek.com>
Wed, 12 Jan 2022 07:39:17 +0000 (15:39 +0800)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 21 Jan 2022 22:49:27 +0000 (23:49 +0100)
commit6751dbfb8d3d5a2077b9c2ee5afa9690518f639e
treed610a365f302ba03f3ad25add5fc7ef8cf8943e4
parent6c2ecc06055d9cbf88b4db4ed22c8ede230ca058
Bluetooth: btmtksdio: mask out interrupt status

Currently, there is a loop in btmtksdio_txrx_work() which iteratively
executes until the variable int_status is zero.

But the variable int_status should be masked out with the actual interrupt
sources (MTK_REG_CHISR bit 0-15) before we check the loop condition.
Otherwise, RX_PKT_LEN (MTK_REG_CHISR bit 16-31) which is read-only and
unclearable would cause the loop to get stuck on some chipsets like
MT7663s.

Fixes: 9b18b4175029 ("Bluetooth: btmtksdio: move interrupt service to work")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btmtksdio.c