)]}'
{
  "commit": "b40df5743ee8aed8674edbbb77b8fd3c8c7a747f",
  "tree": "ea10376ffa9a1a26e91cfca075761828c9b54623",
  "parents": [
    "47c51dff4af25341c575e5089dbb92d61ac69cdf"
  ],
  "author": {
    "name": "Jiri Kosina",
    "email": "jkosina@suse.cz",
    "time": "Wed Mar 07 20:41:18 2007 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Thu Mar 08 07:38:21 2007 -0800"
  },
  "message": "[PATCH] bluetooth: fix socket locking in hci_sock_dev_event()\n\n[Bluetooth] Fix socket locking in hci_sock_dev_event()\n\nhci_sock_dev_event() uses bh_lock_sock() to lock the socket lock.\nThis is not deadlock-safe against locking of the same socket lock in\nl2cap_connect_cfm() from softirq context. In addition to that,\nhci_sock_dev_event() doesn\u0027t seem to be called from softirq context,\nso it is safe to use lock_sock()/release_sock() instead.\n\nThe lockdep warning can be triggered on my T42p simply by switching\nthe Bluetooth off by the keyboard button.\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: inconsistent lock state ]\n  2.6.21-rc2 #4\n  ---------------------------------\n  inconsistent {in-softirq-W} -\u003e {softirq-on-W} usage.\n  khubd/156 [HC0[0]:SC0[0]:HE1:SE1] takes:\n   (slock-AF_BLUETOOTH){-+..}, at: [\u003ce0ca5520\u003e] hci_sock_dev_event+0xa8/0xc5 [bluetooth]\n  {in-softirq-W} state was registered at:\n    [\u003cc012d1db\u003e] mark_lock+0x59/0x414\n    [\u003ce0cef688\u003e] l2cap_connect_cfm+0x4e/0x11f [l2cap]\n    [\u003cc012dfd7\u003e] __lock_acquire+0x3e5/0xb99\n    [\u003ce0cef688\u003e] l2cap_connect_cfm+0x4e/0x11f [l2cap]\n    [\u003cc012e7f2\u003e] lock_acquire+0x67/0x81\n    [\u003ce0cef688\u003e] l2cap_connect_cfm+0x4e/0x11f [l2cap]\n    [\u003cc036ee72\u003e] _spin_lock+0x29/0x34\n    [\u003ce0cef688\u003e] l2cap_connect_cfm+0x4e/0x11f [l2cap]\n    [\u003ce0cef688\u003e] l2cap_connect_cfm+0x4e/0x11f [l2cap]\n    [\u003ce0ca17c3\u003e] hci_send_cmd+0x126/0x14f [bluetooth]\n    [\u003ce0ca4ce4\u003e] hci_event_packet+0x729/0xebd [bluetooth]\n    [\u003ce0ca205b\u003e] hci_rx_task+0x2a/0x20f [bluetooth]\n    [\u003ce0ca209d\u003e] hci_rx_task+0x6c/0x20f [bluetooth]\n    [\u003cc012d7be\u003e] trace_hardirqs_on+0x10d/0x14e\n    [\u003cc011ac85\u003e] tasklet_action+0x3d/0x68\n    [\u003cc011abba\u003e] __do_softirq+0x41/0x92\n    [\u003cc011ac32\u003e] do_softirq+0x27/0x3d\n    [\u003cc0105134\u003e] do_IRQ+0x7b/0x8f\n    [\u003cc0103dec\u003e] common_interrupt+0x24/0x34\n    [\u003cc0103df6\u003e] common_interrupt+0x2e/0x34\n    [\u003cc0248e65\u003e] acpi_processor_idle+0x1b3/0x34a\n    [\u003cc0248e68\u003e] acpi_processor_idle+0x1b6/0x34a\n    [\u003cc010232b\u003e] cpu_idle+0x39/0x4e\n    [\u003cc04bab0c\u003e] start_kernel+0x372/0x37a\n    [\u003cc04ba42b\u003e] unknown_bootoption+0x0/0x202\n    [\u003cffffffff\u003e] 0xffffffff\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f928d2b2a17dac5c81a7660108e895b5640a1263",
      "old_mode": 33188,
      "old_path": "net/bluetooth/hci_sock.c",
      "new_id": "71f5cfbbebb834ce1ffa3283cde1f00db372b580",
      "new_mode": 33188,
      "new_path": "net/bluetooth/hci_sock.c"
    }
  ]
}
