• Luiz Augusto von Dentz's avatar
    Bluetooth: hci_event: Fix Invalid wait context · e9d50f76
    Luiz Augusto von Dentz authored
    This fixes the following trace caused by attempting to lock
    cmd_sync_work_lock while holding the rcu_read_lock:
    
    kworker/u3:2/212 is trying to lock:
    ffff888002600910 (&hdev->cmd_sync_work_lock){+.+.}-{3:3}, at:
    hci_cmd_sync_queue+0xad/0x140
    other info that might help us debug this:
    context-{4:4}
    4 locks held by kworker/u3:2/212:
     #0: ffff8880028c6530 ((wq_completion)hci0#2){+.+.}-{0:0}, at:
     process_one_work+0x4dc/0x9a0
     #1: ffff888001aafde0 ((work_completion)(&hdev->rx_work)){+.+.}-{0:0},
     at: process_one_work+0x4dc/0x9a0
     #2: ffff888002600070 (&hdev->lock){+.+.}-{3:3}, at:
     hci_cc_le_set_cig_params+0x64/0x4f0
     #3: ffffffffa5994b00 (rcu_read_lock){....}-{1:2}, at:
     hci_cc_le_set_cig_params+0x2f9/0x4f0
    
    Fixes: 26afbd82 ("Bluetooth: Add initial implementation of CIS connections")
    Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
    e9d50f76
hci_event.c 191 KB