Bluetooth: Fix L2CAP nesting level initialization location
authorJohan Hedberg <johan.hedberg@intel.com>
Thu, 13 Nov 2014 07:46:04 +0000 (09:46 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 13 Nov 2014 08:11:37 +0000 (09:11 +0100)
There's no reason why all users of L2CAP would need to worry about
initializing chan->nesting to L2CAP_NESTING_NORMAL (which is important
since 0 is the same as NESTING_SMP). This patch moves the initialization
to the common place that's used to create all new channels, i.e. the
l2cap_chan_create() function.

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

index fc15174c612c3d087c43ccf736eda23aa2c60054..52e1871d63346ecca65a3f8caccea442460c811e 100644 (file)
@@ -424,6 +424,9 @@ struct l2cap_chan *l2cap_chan_create(void)
 
        mutex_init(&chan->lock);
 
+       /* Set default lock nesting level */
+       atomic_set(&chan->nesting, L2CAP_NESTING_NORMAL);
+
        write_lock(&chan_list_lock);
        list_add(&chan->global_l, &chan_list);
        write_unlock(&chan_list_lock);
index 7913c28c643d0e697cbc2f773483134d54a25772..a5aa9f92b5e2c709b9541923058bf645eb5f467c 100644 (file)
@@ -1510,9 +1510,6 @@ static void l2cap_sock_init(struct sock *sk, struct sock *parent)
                l2cap_chan_set_defaults(chan);
        }
 
-       /* Set default lock nesting level */
-       atomic_set(&chan->nesting, L2CAP_NESTING_NORMAL);
-
        /* Default config options */
        chan->flush_to = L2CAP_DEFAULT_FLUSH_TO;