Commit f89d75f224dc530f1c173d9093f75865345840a1
Committed by
Linus Torvalds
1 parent
9774a1f54f
Exists in
master
and in
7 other branches
[PATCH] lockdep: annotate bcsp driver
============================================= [ INFO: possible recursive locking detected ] 2.6.18-1.2699.fc6 #1 --------------------------------------------- swapper/0 is trying to acquire lock: (&list->lock#3){+...}, at: [<c05ad307>] skb_dequeue+0x12/0x43 but task is already holding lock: (&list->lock#3){+...}, at: [<df98cd79>] bcsp_dequeue+0x6a/0x11e [hci_uart] Two different list locks nest, annotate so. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Marcel Holtmann <marcel@holtmann.org> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
drivers/bluetooth/hci_bcsp.c
... | ... | @@ -330,7 +330,7 @@ |
330 | 330 | reliable packet if the number of packets sent but not yet ack'ed |
331 | 331 | is < than the winsize */ |
332 | 332 | |
333 | - spin_lock_irqsave(&bcsp->unack.lock, flags); | |
333 | + spin_lock_irqsave_nested(&bcsp->unack.lock, flags, SINGLE_DEPTH_NESTING); | |
334 | 334 | |
335 | 335 | if (bcsp->unack.qlen < BCSP_TXWINSIZE && (skb = skb_dequeue(&bcsp->rel)) != NULL) { |
336 | 336 | struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, bt_cb(skb)->pkt_type); |
... | ... | @@ -696,7 +696,7 @@ |
696 | 696 | |
697 | 697 | BT_DBG("hu %p retransmitting %u pkts", hu, bcsp->unack.qlen); |
698 | 698 | |
699 | - spin_lock_irqsave(&bcsp->unack.lock, flags); | |
699 | + spin_lock_irqsave_nested(&bcsp->unack.lock, flags, SINGLE_DEPTH_NESTING); | |
700 | 700 | |
701 | 701 | while ((skb = __skb_dequeue_tail(&bcsp->unack)) != NULL) { |
702 | 702 | bcsp->msgq_txseq = (bcsp->msgq_txseq - 1) & 0x07; |