• Johan Hedberg's avatar
    Bluetooth: Fix L2CAP socket lock nesting level · 3b2ab39e
    Johan Hedberg authored
    The teardown callback for L2CAP channels is problematic in that it is
    explicitly called for all types of channels from l2cap_chan_del(),
    meaning it's not possible to hard-code a nesting level when taking the
    socket lock. The simplest way to have a correct nesting level for the
    socket locking is to use the same value as for the chan. This also means
    that the other places trying to lock parent sockets need to be update to
    use the chan value (since L2CAP_NESTING_PARENT is defined as 2 whereas
    SINGLE_DEPTH_NESTING has the value 1).
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    3b2ab39e
l2cap_sock.c 35.2 KB