• Johan Hedberg's avatar
    Bluetooth: Fix redundant device (un)blocked events · 2a8357f2
    Johan Hedberg authored
    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: default avatarJohan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    2a8357f2
hci_core.c 122 KB