• Sean Wang's avatar
    Bluetooth: btmtksdio: mask out interrupt status · db3f1f9b
    Sean Wang authored
    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: 26270bc1 ("Bluetooth: btmtksdio: move interrupt service to work")
    Signed-off-by: default avatarSean Wang <sean.wang@mediatek.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    db3f1f9b
btmtksdio.c 30.7 KB