]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: Fix redundant device (un)blocked events
authorJohan Hedberg <johan.hedberg@intel.com>
Tue, 1 Jul 2014 19:09:47 +0000 (22:09 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 3 Jul 2014 15:42:54 +0000 (17:42 +0200)
commit5fec66d02ff2b430c855cceba903f2b88073b150
treed7ef5335b4809ec6052181fee3e1f835eef6f880
parentcb0dda681d341800723ca5fdbb88da8ef6a7bfe6
Bluetooth: Fix redundant device (un)blocked events

For the Block/Unblock Device mgmt commands we should only emit the
Blocked/Unblocked events on any socket except for the one which received
the command. The code was previously incorrectly trying to look up a
non-existent pending command and thereby ending up not skipping the
command socket for the event.

We can simplify the code a lot by simply sending the event directly from
the command handler functions. We have the reference to the command
socket available there which makes it easy to pass to the mgmt_event
function for skipping.

The only notable side-effect of this is that the old blacklisting
ioctl's no-longer cause mgmt events to be emitted, however as user space
versions using these ioctl's are not mgmt-aware this is acceptable.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/hci_core.h
net/bluetooth/hci_core.c
net/bluetooth/mgmt.c