• Dave Young's avatar
    bluetooth: static lock key fix · 45054dc1
    Dave Young authored
    When shutdown ppp connection, lockdep waring about non-static key
    will happen, it is caused by the lock is not initialized properly
    at that time.
    
    Fix with tuning the lock/skb_queue_head init order
    
    [   94.339261] INFO: trying to register non-static key.
    [   94.342509] the code is fine but needs lockdep annotation.
    [   94.342509] turning off the locking correctness validator.
    [   94.342509] Pid: 0, comm: swapper Not tainted 2.6.31-mm1 #2
    [   94.342509] Call Trace:
    [   94.342509]  [<c0248fbe>] register_lock_class+0x58/0x241
    [   94.342509]  [<c024b5df>] ? __lock_acquire+0xb57/0xb73
    [   94.342509]  [<c024ab34>] __lock_acquire+0xac/0xb73
    [   94.342509]  [<c024b7fa>] ? lock_release_non_nested+0x17b/0x1de
    [   94.342509]  [<c024b662>] lock_acquire+0x67/0x84
    [   94.342509]  [<c04cd1eb>] ? skb_dequeue+0x15/0x41
    [   94.342509]  [<c054a857>] _spin_lock_irqsave+0x2f/0x3f
    [   94.342509]  [<c04cd1eb>] ? skb_dequeue+0x15/0x41
    [   94.342509]  [<c04cd1eb>] skb_dequeue+0x15/0x41
    [   94.342509]  [<c054a648>] ? _read_unlock+0x1d/0x20
    [   94.342509]  [<c04cd641>] skb_queue_purge+0x14/0x1b
    [   94.342509]  [<fab94fdc>] l2cap_recv_frame+0xea1/0x115a [l2cap]
    [   94.342509]  [<c024b5df>] ? __lock_acquire+0xb57/0xb73
    [   94.342509]  [<c0249c04>] ? mark_lock+0x1e/0x1c7
    [   94.342509]  [<f8364963>] ? hci_rx_task+0xd2/0x1bc [bluetooth]
    [   94.342509]  [<fab95346>] l2cap_recv_acldata+0xb1/0x1c6 [l2cap]
    [   94.342509]  [<f8364997>] hci_rx_task+0x106/0x1bc [bluetooth]
    [   94.342509]  [<fab95295>] ? l2cap_recv_acldata+0x0/0x1c6 [l2cap]
    [   94.342509]  [<c02302c4>] tasklet_action+0x69/0xc1
    [   94.342509]  [<c022fbef>] __do_softirq+0x94/0x11e
    [   94.342509]  [<c022fcaf>] do_softirq+0x36/0x5a
    [   94.342509]  [<c022fe14>] irq_exit+0x35/0x68
    [   94.342509]  [<c0204ced>] do_IRQ+0x72/0x89
    [   94.342509]  [<c02038ee>] common_interrupt+0x2e/0x34
    [   94.342509]  [<c024007b>] ? pm_qos_add_requirement+0x63/0x9d
    [   94.342509]  [<c038e8a5>] ? acpi_idle_enter_bm+0x209/0x238
    [   94.342509]  [<c049d238>] cpuidle_idle_call+0x5c/0x94
    [   94.342509]  [<c02023f8>] cpu_idle+0x4e/0x6f
    [   94.342509]  [<c0534153>] rest_init+0x53/0x55
    [   94.342509]  [<c0781894>] start_kernel+0x2f0/0x2f5
    [   94.342509]  [<c0781091>] i386_start_kernel+0x91/0x96
    Reported-by: default avatarOliver Hartkopp <oliver@hartkopp.net>
    Signed-off-by: default avatarDave Young <hidave.darkstar@gmail.com>
    Tested-by: default avatarOliver Hartkopp <oliver@hartkopp.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    45054dc1
l2cap.c 89 KB