The kernel module may sleep while holding a spinlock. The function call path (from bottom to top) in Linux 4.19 is: net/bluetooth/l2cap_core.c, 840: mutex_lock in l2cap_get_ident net/bluetooth/l2cap_core.c, 1402: l2cap_get_ident in l2cap_send_disconn_req net/bluetooth/l2cap_core.c, 736: l2cap_send_disconn_req in l2cap_chan_close net/bluetooth/6lowpan.c, 1053: l2cap_chan_close in disconnect_all_peers net/bluetooth/6lowpan.c, 1051: spin_lock in disconnect_all_peers mutex_lock() can sleep at runtime. I am not sure how to properly fix this possible bug, so I only report it. This bug is found by a static analysis tool STCheck written by myself. Best wishes, Jia-Ju Bai