• Johan Hedberg's avatar
    Bluetooth: Wait for SMP key distribution completion when pairing · f4a407be
    Johan Hedberg authored
    When we initiate pairing through mgmt_pair_device the code has so far
    been waiting for a successful HCI Encrypt Change event in order to
    respond to the mgmt command. However, putting privacy into the play we
    actually want the key distribution to be complete before replying so
    that we can include the Identity Address in the mgmt response.
    
    This patch updates the various hci_conn callbacks for LE in mgmt.c to
    only respond in the case of failure, and adds a new mgmt_smp_complete
    function that the SMP code will call once key distribution has been
    completed.
    
    Since the smp_chan_destroy function that's used to indicate completion
    and clean up the SMP context can be called from various places,
    including outside of smp.c, the easiest way to track failure vs success
    is a new flag that we set once key distribution has been successfully
    completed.
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    f4a407be
smp.h 4.06 KB