• Johan Hedberg's avatar
    Bluetooth: Add public l2cap_conn_shutdown() API to request disconnection · dec5b492
    Johan Hedberg authored
    Since we no-longer do special handling of SMP within l2cap_core.c we
    don't have any code for calling l2cap_conn_del() when smp.c doesn't like
    the data it gets. At the same time we cannot simply export
    l2cap_conn_del() since it will try to lock the channels it calls into
    whereas we already hold the lock in the smp.c l2cap_chan callbacks (i.e.
    it'd lead to a deadlock).
    
    This patch adds a new l2cap_conn_shutdown() API which is very similar to
    l2cap_conn_del() except that it defers the call to l2cap_conn_del()
    through a workqueue, thereby making it safe to use it from an L2CAP
    channel callback.
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    dec5b492
l2cap.h 22.5 KB