mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-11-08 11:45:53 -05:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
We presently use lock_sock() to acquire a lock on a socket in hci_sock_dev_event(), but this goes BUG because lock_sock() can sleep and we're already holding a read-write spinlock at that point. So, we must use the non-sleeping BH version, bh_lock_sock(). However, hci_sock_dev_event() is called from user context and hence using simply bh_lock_sock() will deadlock against a concurrent softirq that tries to acquire a lock on the same socket. Hence, disabling BH's before acquiring the socket lock and enable them afterwards, is the proper solution to fix socket locking in hci_sock_dev_event(). Signed-off-by: Satyam Sharma <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> Signed-off-by: Jiri Kosina <[email protected]> Signed-off-by: David S. Miller <[email protected]> |
||
| .. | ||
| bnep | ||
| cmtp | ||
| hidp | ||
| rfcomm | ||
| af_bluetooth.c | ||
| hci_conn.c | ||
| hci_core.c | ||
| hci_event.c | ||
| hci_sock.c | ||
| hci_sysfs.c | ||
| Kconfig | ||
| l2cap.c | ||
| lib.c | ||
| Makefile | ||
| sco.c | ||