)]}'
{
  "log": [
    {
      "commit": "24d2b8c0ac5c8ec41c26ed432238b0e027184882",
      "tree": "d0331d56b1f94b3614eaade10ca5d1ca0ba8633c",
      "parents": [
        "6de32750822d00bfa92c341166132b0714c5b559"
      ],
      "author": {
        "name": "Ulisses Furquim",
        "email": "ulisses@profusion.mobi",
        "time": "Mon Jan 30 18:26:29 2012 -0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: Fix possible use after free in delete path\n\nWe need to use the _sync() version for cancelling the info and security\ntimer in the L2CAP connection delete path. Otherwise the delayed work\nhandler might run after the connection object is freed.\n\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "6de32750822d00bfa92c341166132b0714c5b559",
      "tree": "b267e43e5a597578e923cd373961348e7cc7f6fb",
      "parents": [
        "403f048a57050add364827fb3e2650af86463168"
      ],
      "author": {
        "name": "Ulisses Furquim",
        "email": "ulisses@profusion.mobi",
        "time": "Mon Jan 30 18:26:28 2012 -0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: Remove usage of __cancel_delayed_work()\n\n__cancel_delayed_work() is being used in some paths where we cannot\nsleep waiting for the delayed work to finish. However, that function\nmight return while the timer is running and the work will be queued\nagain. Replace the calls with safer cancel_delayed_work() version\nwhich spins until the timer handler finishes on other CPUs and\ncancels the delayed work.\n\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "ca0d6c7ece0e78268cd7c5c378d6b1b610625085",
      "tree": "23c56a6629b63e20c59ba36971fd181d54c02b6d",
      "parents": [
        "cf33e77b76d7439f21a23a94eab4ab3b405a6a7d"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 03 21:29:40 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: Add missing QUIRK_NO_RESET test to hci_dev_do_close\n\nWe should only perform a reset in hci_dev_do_close if the\nHCI_QUIRK_NO_RESET flag is set (since in such a case a reset will not be\nperformed when initializing the device).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "cf33e77b76d7439f21a23a94eab4ab3b405a6a7d",
      "tree": "3e8ad4b4c7a2cb23835c3c2144457a56eba7129b",
      "parents": [
        "a51cd2be864a3cc0272359b1995e213341dfc7e7"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "octavian.purdila@intel.com",
        "time": "Fri Jan 27 19:32:39 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: Fix RFCOMM session reference counting issue\n\nThere is an imbalance in the rfcomm_session_hold / rfcomm_session_put\noperations which causes the following crash:\n\n[  685.010159] BUG: unable to handle kernel paging request at 6b6b6b6b\n[  685.010169] IP: [\u003cc149d76d\u003e] rfcomm_process_dlcs+0x1b/0x15e\n[  685.010181] *pdpt \u003d 000000002d665001 *pde \u003d 0000000000000000\n[  685.010191] Oops: 0000 [#1] PREEMPT SMP\n[  685.010247]\n[  685.010255] Pid: 947, comm: krfcommd Tainted: G         C  3.0.16-mid8-dirty #44\n[  685.010266] EIP: 0060:[\u003cc149d76d\u003e] EFLAGS: 00010246 CPU: 1\n[  685.010274] EIP is at rfcomm_process_dlcs+0x1b/0x15e\n[  685.010281] EAX: e79f551c EBX: 6b6b6b6b ECX: 00000007 EDX: e79f40b4\n[  685.010288] ESI: e79f4060 EDI: ed4e1f70 EBP: ed4e1f68 ESP: ed4e1f50\n[  685.010295]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\n[  685.010303] Process krfcommd (pid: 947, ti\u003ded4e0000 task\u003ded43e5e0 task.ti\u003ded4e0000)\n[  685.010308] Stack:\n[  685.010312]  ed4e1f68 c149eb53 e5925150 e79f4060 ed500000 ed4e1f70 ed4e1f80 c149ec10\n[  685.010331]  00000000 ed43e5e0 00000000 ed4e1f90 ed4e1f9c c149ec87 0000bf54 00000000\n[  685.010348]  00000000 ee03bf54 c149ec37 ed4e1fe4 c104fe01 00000000 00000000 00000000\n[  685.010367] Call Trace:\n[  685.010376]  [\u003cc149eb53\u003e] ? rfcomm_process_rx+0x6e/0x74\n[  685.010387]  [\u003cc149ec10\u003e] rfcomm_process_sessions+0xb7/0xde\n[  685.010398]  [\u003cc149ec87\u003e] rfcomm_run+0x50/0x6d\n[  685.010409]  [\u003cc149ec37\u003e] ? rfcomm_process_sessions+0xde/0xde\n[  685.010419]  [\u003cc104fe01\u003e] kthread+0x63/0x68\n[  685.010431]  [\u003cc104fd9e\u003e] ? __init_kthread_worker+0x42/0x42\n[  685.010442]  [\u003cc14dae82\u003e] kernel_thread_helper+0x6/0xd\n\nThis issue has been brought up earlier here:\n\nhttps://lkml.org/lkml/2011/5/21/127\n\nThe issue appears to be the rfcomm_session_put in rfcomm_recv_ua. This\noperation doesn\u0027t seem be to required as for the non-initiator case we\nhave the rfcomm_process_rx doing an explicit put and in the initiator\ncase the last dlc_unlink will drive the reference counter to 0.\n\nThere have been several attempts to fix these issue:\n\n6c2718d Bluetooth: Do not call rfcomm_session_put() for RFCOMM UA on closed socket\n683d949 Bluetooth: Never deallocate a session when some DLC points to it\n\nbut AFAICS they do not fix the issue just make it harder to reproduce.\n\nSigned-off-by: Octavian Purdila \u003coctavian.purdila@intel.com\u003e\nSigned-off-by: Gopala Krishna Murala \u003cgopala.krishna.murala@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "b5a30dda6598af216c070165ece6068f9f00f33a",
      "tree": "049eff0341a243dbd02af3c83a7166f941177833",
      "parents": [
        "331660637b4e5136602a98200a84f6b65ed8d5be"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "tavi.purdila@gmail.com",
        "time": "Sun Jan 22 00:28:34 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: silence lockdep warning\n\nSince bluetooth uses multiple protocols types, to avoid lockdep\nwarnings, we need to use different lockdep classes (one for each\nprotocol type).\n\nThis is already done in bt_sock_create but it misses a couple of cases\nwhen new connections are created. This patch corrects that to fix the\nfollowing warning:\n\n\u003c4\u003e[ 1864.732366] \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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003c4\u003e[ 1864.733030] [ INFO: possible circular locking dependency detected ]\n\u003c4\u003e[ 1864.733544] 3.0.16-mid3-00007-gc9a0f62 #3\n\u003c4\u003e[ 1864.733883] -------------------------------------------------------\n\u003c4\u003e[ 1864.734408] t.android.btclc/4204 is trying to acquire lock:\n\u003c4\u003e[ 1864.734869]  (rfcomm_mutex){+.+.+.}, at: [\u003cc14970ea\u003e] rfcomm_dlc_close+0x15/0x30\n\u003c4\u003e[ 1864.735541]\n\u003c4\u003e[ 1864.735549] but task is already holding lock:\n\u003c4\u003e[ 1864.736045]  (sk_lock-AF_BLUETOOTH){+.+.+.}, at: [\u003cc1498bf7\u003e] lock_sock+0xa/0xc\n\u003c4\u003e[ 1864.736732]\n\u003c4\u003e[ 1864.736740] which lock already depends on the new lock.\n\u003c4\u003e[ 1864.736750]\n\u003c4\u003e[ 1864.737428]\n\u003c4\u003e[ 1864.737437] the existing dependency chain (in reverse order) is:\n\u003c4\u003e[ 1864.738016]\n\u003c4\u003e[ 1864.738023] -\u003e #1 (sk_lock-AF_BLUETOOTH){+.+.+.}:\n\u003c4\u003e[ 1864.738549]        [\u003cc1062273\u003e] lock_acquire+0x104/0x140\n\u003c4\u003e[ 1864.738977]        [\u003cc13d35c1\u003e] lock_sock_nested+0x58/0x68\n\u003c4\u003e[ 1864.739411]        [\u003cc1493c33\u003e] l2cap_sock_sendmsg+0x3e/0x76\n\u003c4\u003e[ 1864.739858]        [\u003cc13d06c3\u003e] __sock_sendmsg+0x50/0x59\n\u003c4\u003e[ 1864.740279]        [\u003cc13d0ea2\u003e] sock_sendmsg+0x94/0xa8\n\u003c4\u003e[ 1864.740687]        [\u003cc13d0ede\u003e] kernel_sendmsg+0x28/0x37\n\u003c4\u003e[ 1864.741106]        [\u003cc14969ca\u003e] rfcomm_send_frame+0x30/0x38\n\u003c4\u003e[ 1864.741542]        [\u003cc1496a2a\u003e] rfcomm_send_ua+0x58/0x5a\n\u003c4\u003e[ 1864.741959]        [\u003cc1498447\u003e] rfcomm_run+0x441/0xb52\n\u003c4\u003e[ 1864.742365]        [\u003cc104f095\u003e] kthread+0x63/0x68\n\u003c4\u003e[ 1864.742742]        [\u003cc14d5182\u003e] kernel_thread_helper+0x6/0xd\n\u003c4\u003e[ 1864.743187]\n\u003c4\u003e[ 1864.743193] -\u003e #0 (rfcomm_mutex){+.+.+.}:\n\u003c4\u003e[ 1864.743667]        [\u003cc1061ada\u003e] __lock_acquire+0x988/0xc00\n\u003c4\u003e[ 1864.744100]        [\u003cc1062273\u003e] lock_acquire+0x104/0x140\n\u003c4\u003e[ 1864.744519]        [\u003cc14d2c70\u003e] __mutex_lock_common+0x3b/0x33f\n\u003c4\u003e[ 1864.744975]        [\u003cc14d303e\u003e] mutex_lock_nested+0x2d/0x36\n\u003c4\u003e[ 1864.745412]        [\u003cc14970ea\u003e] rfcomm_dlc_close+0x15/0x30\n\u003c4\u003e[ 1864.745842]        [\u003cc14990d9\u003e] __rfcomm_sock_close+0x5f/0x6b\n\u003c4\u003e[ 1864.746288]        [\u003cc1499114\u003e] rfcomm_sock_shutdown+0x2f/0x62\n\u003c4\u003e[ 1864.746737]        [\u003cc13d275d\u003e] sys_socketcall+0x1db/0x422\n\u003c4\u003e[ 1864.747165]        [\u003cc14d42f0\u003e] syscall_call+0x7/0xb\n\nSigned-off-by: Octavian Purdila \u003coctavian.purdila@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "6e1da683f79a22fafaada62d547138daaa9e3456",
      "tree": "d3502a1dd0a2df2d13e9d53a70042f68381e0ee3",
      "parents": [
        "a63752552b95624a9f1dfa3d763870f72f964ad0"
      ],
      "author": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@tieto.com",
        "time": "Wed Jan 04 12:10:42 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:25 2012 +0200"
      },
      "message": "Bluetooth: l2cap_set_timer needs jiffies as timeout value\n\nAfter moving L2CAP timers to workqueues l2cap_set_timer expects timeout\nvalue to be specified in jiffies but constants defined in miliseconds\nare used. This makes timeouts unreliable when CONFIG_HZ is not set to\n1000.\n\n__set_chan_timer macro still uses jiffies as input to avoid multiple\nconversions from/to jiffies for sk_sndtimeo value which is already\nspecified in jiffies.\n\nSigned-off-by: Andrzej Kaczmarek \u003candrzej.kaczmarek@tieto.com\u003e\nAckec-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "a63752552b95624a9f1dfa3d763870f72f964ad0",
      "tree": "a18d24a87e98bad9965731a0282fe0216f73a439",
      "parents": [
        "4aa832c27edf902130f8bace1d42cf22468823fa"
      ],
      "author": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@tieto.com",
        "time": "Wed Jan 04 12:10:41 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:25 2012 +0200"
      },
      "message": "Bluetooth: Fix sk_sndtimeo initialization for L2CAP socket\n\nsk_sndtime value should be specified in jiffies thus initial value\nneeds to be converted from miliseconds. Otherwise this timeout is\nunreliable when CONFIG_HZ is not set to 1000.\n\nSigned-off-by: Andrzej Kaczmarek \u003candrzej.kaczmarek@tieto.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "4aa832c27edf902130f8bace1d42cf22468823fa",
      "tree": "0145f7d8455de5a7e06a3b9be52f2c2ac3857bb2",
      "parents": [
        "19ad9e94f6e2b4b3e1feccfb2466eb6e3e5b8c2a"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 08 22:51:16 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:25 2012 +0200"
      },
      "message": "Bluetooth: Remove bogus inline declaration from l2cap_chan_connect\n\nAs reported by Dan Carpenter this function causes a Sparse warning and\nshouldn\u0027t be declared inline:\n\ninclude/net/bluetooth/l2cap.h:837:30 error: marked inline, but without a\ndefinition\"\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "18daf1644e634bae951a6e3d4d19d89170209762",
      "tree": "e4d467a93904208cb2c421868646b1cd8f33b34e",
      "parents": [
        "c27111e5b8d6b1e9296f7075cdc35872f672b524"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Fri Jan 13 15:11:30 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:25 2012 +0200"
      },
      "message": "Bluetooth: Fix l2cap conn failures for ssp devices\n\nCommit 330605423c fixed l2cap conn establishment for non-ssp remote\ndevices by not setting HCI_CONN_ENCRYPT_PEND every time conn security\nis tested (which was always returning failure on any subsequent\nsecurity checks).\n\nHowever, this broke l2cap conn establishment for ssp remote devices\nwhen an ACL link was already established at SDP-level security. This\nfix ensures that encryption must be pending whenever authentication\nis also pending.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nTested-by: Daniel Wagner \u003cdaniel.wagner@bmw-carit.de\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "b1cc16b8e643096adb92bbcb76c6c4c564141c40",
      "tree": "c82c5be4c43ab5c82cf9fad022a4c77df30e90cc",
      "parents": [
        "0e90b31f4ba77027a7c21cbfc66404df0851ca21"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 22 14:45:14 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 22 15:08:46 2012 -0500"
      },
      "message": "bluetooth: hci: Fix type of \"enable_hs\" to bool.\n\nFixes:\n\nnet/bluetooth/hci_core.c: In function ‘__check_enable_hs’:\nnet/bluetooth/hci_core.c:2587:1: warning: return from incompatible pointer type [enabled by default]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "874c60bad92564358e87d58f505fceb0b09ec1aa",
      "tree": "f6a5cadf50e07971f711b6cdf627797c5e1c095b",
      "parents": [
        "a8c1f65c79cbbb2f7da782d4c9d15639a9b94b27",
        "c5993de864d96b3656e9fca38c377b130105d97a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 10 15:44:17 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 10 15:44:17 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next\n"
    },
    {
      "commit": "117ff42fd43e92d24c6aa6f3e4f0f1e1edada140",
      "tree": "c08e1c0357fde481a16489b77feb8f6073faf538",
      "parents": [
        "1d5783030a14d1b6ee763f63c8136e581f48b365",
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 04 21:35:43 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 04 21:35:43 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "d8f46ff11081f03b09efe82245a3257bab6bf60e",
      "tree": "fe47a5fe5ef62920ee3e1ffe5a2fd7a29918c6b0",
      "parents": [
        "405cc2736527bd506fd8f652308b03b2c8a1e8b9",
        "b015dbc0f95eef34819515bd403a62569bca23df"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 04 11:37:30 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 04 11:37:30 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "57adc1fcbae2c13104ce291b40f23e40a414fa87",
      "tree": "a22d95cd3a96cbd515cd24fb0833739576c5e92f",
      "parents": [
        "faa85aa24286a9e14ae7cc797352350c3ac39986",
        "dc0d633e35643662f27a0b1c531da3cd6b204b9c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 03 15:16:34 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 03 15:16:34 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/net/wireless/b43/dma.c\n\tdrivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c\n"
    },
    {
      "commit": "c5993de864d96b3656e9fca38c377b130105d97a",
      "tree": "e44d03d2348a89b6bebad1cca98a06006b1ccfaa",
      "parents": [
        "3542b854bc26e5f8e42e0eab4d7f7453b74a362d"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Dec 30 12:07:47 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jan 03 01:38:37 2012 -0200"
      },
      "message": "Bluetooth: Correct packet len calculation\n\nRemove unneeded skb_pull and correct packet length calculation\nremoving magic number. Move BT_DBG after len check otherwise\nit could possibly access wrong memory.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "3542b854bc26e5f8e42e0eab4d7f7453b74a362d",
      "tree": "1958fa65523d15edec3813a664a6199e90727254",
      "parents": [
        "333055f2aaabadb951b5ecd90f6a20a9aee38c29"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 28 13:54:17 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jan 03 01:38:37 2012 -0200"
      },
      "message": "Bluetooth: Keep chan-\u003estate and sk-\u003esk_state in sync\n\nThose vars need to be in sync, otherwise l2cap_core.c can get the wrong\nstate.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "333055f2aaabadb951b5ecd90f6a20a9aee38c29",
      "tree": "e3ed44860d187ec699c29838fac916b7dfb84740",
      "parents": [
        "e75a8b0c332875b2a2d22acdc331fc2b83788cac"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 15:14:39 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jan 03 01:38:36 2012 -0200"
      },
      "message": "Bluetooth: Don\u0027t use *_bh locks anymore\n\nThose locks are not shared between interrupt and process context anymore,\nso remove the part that disable interrupts.  We are still safe because\npreemption is disabled.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e75a8b0c332875b2a2d22acdc331fc2b83788cac",
      "tree": "0ed7fc7f07b730f327feeb90a787960287aef75c",
      "parents": [
        "d084329e2862922bbc9a2de04a5c8e7219bfceb9"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Mon Jan 02 16:50:53 2012 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jan 03 01:35:23 2012 -0200"
      },
      "message": "Bluetooth: Fix mgmt_stop_discovery_failed()\n\nStop Discovery Command Status Event should use mgmt status code.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "d084329e2862922bbc9a2de04a5c8e7219bfceb9",
      "tree": "80552018470ccfe5c0fd2bdc51e9cb4c9b4db0f4",
      "parents": [
        "c1b9b4f45f014093231c568be9b5c2e392943696"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Mon Jan 02 19:18:11 2012 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:30:10 2012 -0200"
      },
      "message": "Bluetooth: Queue adv_work on system workqueue\n\nThis patch queues hdev-\u003eadv_work on the system-wide workqueue\ninstead of on hdev-\u003eworkqueue. This way we keep only tx/rx works\non hdev-\u003eworkqueue.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c1b9b4f45f014093231c568be9b5c2e392943696",
      "tree": "115b437ffe603d6ceb606633289408b3b66534f4",
      "parents": [
        "b5b32b653dedb29eb95e57cbbaefc4abf7141cb2"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Mon Jan 02 19:18:10 2012 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:30:09 2012 -0200"
      },
      "message": "Bluetooth: Fix adv_work delay\n\nThis patch fixes the adv_work delay. It should be set to ADV_\nCLEAR_TIMEOUT instead of (jiffies + ADV_CLEAR_TIMEOUT) since\nqueue_delayed_work() receives the number of jiffies to wait\nbefore queueing. It also removes the unnecessary cancel_delayed_\nwork_sync() call in case LE scan has been disabled.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b5b32b653dedb29eb95e57cbbaefc4abf7141cb2",
      "tree": "0fcef65dc75ca91a47614aed977eda85d0b3bcf5",
      "parents": [
        "59e294065ddee7074af91e4f5e12e6095eb1135b"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "aguedespe@gmail.com",
        "time": "Fri Dec 30 10:34:04 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:29:51 2012 -0200"
      },
      "message": "Bluetooth: Fix hci_cc_read_local_ext_features()\n\nCopy the Features value according to the Page number.\n\nSigned-off-by: Andre Guedes \u003caguedespe@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "59e294065ddee7074af91e4f5e12e6095eb1135b",
      "tree": "7f97a5890a4c65f8289a9b5162503e682b2f57f7",
      "parents": [
        "94f5bfb8c1641080c3c4325714b8fe7d2839a906"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "aguedespe@gmail.com",
        "time": "Fri Dec 30 10:34:03 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:21:05 2012 -0200"
      },
      "message": "Bluetooth: Rename extfeatures\n\nThis patch renames hdev-\u003eextfeatures to hdev-\u003ehost_features since it\nholds the extended features Page 1 (aka host features).\n\nSigned-off-by: Andre Guedes \u003caguedespe@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "94f5bfb8c1641080c3c4325714b8fe7d2839a906",
      "tree": "b066a446b5585e5ac1a208d908ed7963e4895db6",
      "parents": [
        "4b5dd696f81b210c1511ca7a969525126266c933"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 27 15:28:48 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:20:24 2012 -0200"
      },
      "message": "Bluetooth: Remove *_bh from socket list lock.\n\nWe don\u0027t need it anymore.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "4b5dd696f81b210c1511ca7a969525126266c933",
      "tree": "3852a62f2857f566243e7df404c99a6ad1236b95",
      "parents": [
        "ee65d19e25c7ace7792bcd289776b2e24f4bf059"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 27 15:28:47 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:20:12 2012 -0200"
      },
      "message": "Bluetooth: Remove local_bh_disable() from hci_sock.c\n\nEverything is in process context now, we do not need such a call.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "ee65d19e25c7ace7792bcd289776b2e24f4bf059",
      "tree": "5983c4d9ead9af1b0fe2010b3f4259794ee8bd6b",
      "parents": [
        "393432cd8dc02b88a00decd495913643aa5ff705"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 27 15:28:46 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:19:52 2012 -0200"
      },
      "message": "Bluetooth: Remove *_bh locks from SCO\n\nThose locks are not shared between interrupt and process context anymore,\nso remove the part that disable interrupts. We are still safe because\npreemption is disabled.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "393432cd8dc02b88a00decd495913643aa5ff705",
      "tree": "2c59666496a3c669781bbc8bb5f94854a1b6f944",
      "parents": [
        "95ca83f42fb5f5bf789b514635f79242afe555d1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 27 15:28:45 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:19:29 2012 -0200"
      },
      "message": "Bluetooth: Fix context in RFCOMM tty\n\nWe now run in process context, no need to disable interrupts.\nCalls from the tty layer also run in process context.\n\nrw_lock was converted to spinlock, we have more writers than readers in\nthis case.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "95ca83f42fb5f5bf789b514635f79242afe555d1",
      "tree": "5cb07ebaf9113fcb8b86378362ad66184c84d7e8",
      "parents": [
        "9219b2a08c8a1ca9935b85ec4ab119bb55b0cb15"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 27 15:28:44 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 22:17:29 2012 -0200"
      },
      "message": "Bluetooth: Fix context in rfcomm_sock_lock\n\nCode now run in process context, does not need to disable interrupt\nanymore.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "9219b2a08c8a1ca9935b85ec4ab119bb55b0cb15",
      "tree": "c1c14e8cb44cb944df657a3540445d3a3b5cb316",
      "parents": [
        "4ae1652ef1bf38e07caa5d1d86ffd3b31103b55a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 20:08:04 2012 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jan 02 20:08:04 2012 -0200"
      },
      "message": "Bluetooth: Fix bacpy in l2cap_core.c\n\nIt should be the dst in the copy not src. 03a001948 introduced this bug.\n\nReported-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "4ae1652ef1bf38e07caa5d1d86ffd3b31103b55a",
      "tree": "c75275f7080589390fd7b80556e518cb49ec7c73",
      "parents": [
        "3573b80c42e88c2a43c068c86bcd1a753cf6e1a0"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 27 14:43:41 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 27 14:43:41 2011 -0200"
      },
      "message": "Bluetooth: Fix a compile warning in RFCOMM\n\nsock and sk were leftover from another change.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cad44c2bf6165e46e309d4db0ffd286a9259aa2a",
      "tree": "6a3ce49dcf21a25526e23f5f965fc85dc01ab494",
      "parents": [
        "d7660918fce210f421cc58c060ca3de71e4ffd37"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 23 18:59:13 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 23 19:00:02 2011 -0200"
      },
      "message": "Revert \"Bluetooth: Increase HCI reset timeout in hci_dev_do_close\"\n\nThis reverts commit e1b6eb3ccb0c2a34302a9fd87dd15d7b86337f23.\n\nThis was causing a delay of 10 seconds in the resume process of a Thinkpad\nlaptop. I\u0027m afraid this could affect more devices once 3.2 is released.\n\nReported-by: Tomáš Janoušek \u003ctomi@nomi.cz\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "3573b80c42e88c2a43c068c86bcd1a753cf6e1a0",
      "tree": "c5d3101ff84f7d1db6f2bfe012be9fae59e9f82a",
      "parents": [
        "af3e6359a2b52970c63c3c9f73d52be281a162ad"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemant.gupta@stericsson.com",
        "time": "Fri Dec 23 11:07:24 2011 +0530"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 23 16:55:06 2011 -0200"
      },
      "message": "Bluetooth: Incorrect address while storing LTK.\n\nThis patch fixes incorrect address storage while storing\nLong Term Key for LE Devices using SMP (Security Manager Protocol).\nThe address stored should be of remote device and not of source device.\n\nSigned-off-by: Hemant Gupta \u003chemant.gupta@stericsson.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "af3e6359a2b52970c63c3c9f73d52be281a162ad",
      "tree": "304b7466bea89c46e2c9b3bc0b567aacdbe9c07d",
      "parents": [
        "f20d09d5f7093e5dc5f231c65835e2d04739bd5e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 16:35:05 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 18:07:01 2011 -0200"
      },
      "message": "Bluetooth: Don\u0027t disable interrupt when locking the queue\n\nWe run everything in process context now.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f20d09d5f7093e5dc5f231c65835e2d04739bd5e",
      "tree": "846904ba60bf7af0b3bfb3663843b971f919e73f",
      "parents": [
        "460da45d92f19adda1b79910652d5a23c65dd272"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 16:30:27 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 18:06:24 2011 -0200"
      },
      "message": "Bluetooth: remove *_bh usage from hci_dev_list and hci_cb_list\n\nThey don\u0027t need to disable interrupts anymore, we only run in process\ncontext now.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "2fb9b3d4e5d720d4033461519af0d3f789924015",
      "tree": "fb4fe1e8e353a9d1041da2eb184be0ea7b91ee27",
      "parents": [
        "5436538fb5f2a12e5328dcaa2e3a1742be25c2e0"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 16:56:05 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 18:00:54 2011 -0200"
      },
      "message": "Bluetooth: add debug output to l2cap_ack_timeout()\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "5436538fb5f2a12e5328dcaa2e3a1742be25c2e0",
      "tree": "ebf9a7c7d5f0e626de55e0679350a4b1200945c5",
      "parents": [
        "c0190925dacd976a67044f4382d4effbed568dce"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 16:30:44 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 14:45:10 2011 -0200"
      },
      "message": "Bluetooth: Remove l2cap priority from inside RFCOMM.\n\nRFCOMM needs a proper priority mechanism inside itself and not try to use\nl2cap priority to fix its own problem.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "5fe57d9e9edb9182d1fa941b94902444c3174ccd",
      "tree": "03174e466bdba4a1d72f9ae29d0f43424f5625f9",
      "parents": [
        "2b64d153a0cc9d2b60e47be013cde8490f16e0a5"
      ],
      "author": {
        "name": "Brian Gix",
        "email": "bgix@codeaurora.org",
        "time": "Wed Dec 21 16:12:13 2011 -0800"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 14:19:03 2011 -0200"
      },
      "message": "Bluetooth: Add SMP to User Passkey and Confirm\n\nLow Energy pairing is performed through the SMP (Security Manager Protocol)\nmechanism rather than HCI.\n\nSigned-off-by: Brian Gix \u003cbgix@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "2b64d153a0cc9d2b60e47be013cde8490f16e0a5",
      "tree": "ea075313e9f03379ee1313ca230b07dadd937dad",
      "parents": [
        "371fd83563252f550ce59476a7366d0b5171d316"
      ],
      "author": {
        "name": "Brian Gix",
        "email": "bgix@codeaurora.org",
        "time": "Wed Dec 21 16:12:12 2011 -0800"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 14:18:59 2011 -0200"
      },
      "message": "Bluetooth: Add MITM mechanism to LE-SMP\n\nTo achive Man-In-The-Middle (MITM) level security with Low Energy,\nwe have to enable User Passkey Comparison.  This commit modifies the\nhard-coded JUST-WORKS pairing mechanism to support query via the MGMT\ninterface of Passkey comparison and User Confirmation.\n\nSigned-off-by: Brian Gix \u003cbgix@codeaurora.org\u003e\nAcked-by: Marcel Holtmann\u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "371fd83563252f550ce59476a7366d0b5171d316",
      "tree": "f9ac14482819a4ddc3205d96f214875d7442cea4",
      "parents": [
        "686ebf283ba19f82abd8aaec023cd124749be9ec"
      ],
      "author": {
        "name": "Ulisses Furquim",
        "email": "ulisses@profusion.mobi",
        "time": "Wed Dec 21 20:02:36 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 14:15:09 2011 -0200"
      },
      "message": "Bluetooth: Fix deadlocks with sock lock and L2CAP timers locks\n\nWhen cancelling a delayed work (timer) in L2CAP we can not sleep holding\nthe sock mutex otherwise we might deadlock with an L2CAP timer handler.\nThis is possible because RX/TX and L2CAP timers run in different workqueues.\nThe scenario below illustrates the problem. Thus we are now avoiding to\nsleep on the timers locks.\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ INFO: possible circular locking dependency detected ]\n 3.1.0-05270-ga978dc7-dirty #239\n -------------------------------------------------------\n kworker/1:1/873 is trying to acquire lock:\n  (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}, at: [\u003cffffffffa002ceac\u003e] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]\n\n but task is already holding lock:\n  ((\u0026(\u0026chan-\u003echan_timer)-\u003ework)){+.+...}, at: [\u003cffffffff81051a86\u003e] process_one_work+0x126/0x450\n\n which lock already depends on the new lock.\n\n the existing dependency chain (in reverse order) is:\n\n -\u003e #1 ((\u0026(\u0026chan-\u003echan_timer)-\u003ework)){+.+...}:\n        [\u003cffffffff8106b276\u003e] check_prevs_add+0xf6/0x170\n        [\u003cffffffff8106b903\u003e] validate_chain+0x613/0x790\n        [\u003cffffffff8106dfee\u003e] __lock_acquire+0x4be/0xac0\n        [\u003cffffffff8106ec2d\u003e] lock_acquire+0x8d/0xb0\n        [\u003cffffffff81052a6f\u003e] wait_on_work+0x4f/0x160\n        [\u003cffffffff81052ca3\u003e] __cancel_work_timer+0x73/0x80\n        [\u003cffffffff81052cbd\u003e] cancel_delayed_work_sync+0xd/0x10\n        [\u003cffffffffa002f2ed\u003e] l2cap_chan_connect+0x22d/0x470 [bluetooth]\n        [\u003cffffffffa002fb51\u003e] l2cap_sock_connect+0xb1/0x140 [bluetooth]\n        [\u003cffffffff8130811b\u003e] kernel_connect+0xb/0x10\n        [\u003cffffffffa00cf98a\u003e] rfcomm_session_create+0x12a/0x1c0 [rfcomm]\n        [\u003cffffffffa00cfbe7\u003e] __rfcomm_dlc_open+0x1c7/0x240 [rfcomm]\n        [\u003cffffffffa00d07c2\u003e] rfcomm_dlc_open+0x42/0x70 [rfcomm]\n        [\u003cffffffffa00d3b03\u003e] rfcomm_sock_connect+0x103/0x150 [rfcomm]\n        [\u003cffffffff8130bd7e\u003e] sys_connect+0xae/0xc0\n        [\u003cffffffff813368d2\u003e] compat_sys_socketcall+0xb2/0x220\n        [\u003cffffffff813b2089\u003e] sysenter_dispatch+0x7/0x30\n\n -\u003e #0 (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}:\n        [\u003cffffffff8106b16d\u003e] check_prev_add+0x6cd/0x6e0\n        [\u003cffffffff8106b276\u003e] check_prevs_add+0xf6/0x170\n        [\u003cffffffff8106b903\u003e] validate_chain+0x613/0x790\n        [\u003cffffffff8106dfee\u003e] __lock_acquire+0x4be/0xac0\n        [\u003cffffffff8106ec2d\u003e] lock_acquire+0x8d/0xb0\n        [\u003cffffffff8130d91a\u003e] lock_sock_nested+0x8a/0xa0\n        [\u003cffffffffa002ceac\u003e] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]\n        [\u003cffffffff81051ae4\u003e] process_one_work+0x184/0x450\n        [\u003cffffffff8105276e\u003e] worker_thread+0x15e/0x340\n        [\u003cffffffff81057bb6\u003e] kthread+0x96/0xa0\n        [\u003cffffffff813b1ef4\u003e] kernel_thread_helper+0x4/0x10\n\n other info that might help us debug this:\n\n  Possible unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock((\u0026(\u0026chan-\u003echan_timer)-\u003ework));\n                                lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);\n                                lock((\u0026(\u0026chan-\u003echan_timer)-\u003ework));\n   lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);\n\n  *** DEADLOCK ***\n\n 2 locks held by kworker/1:1/873:\n  #0:  (events){.+.+.+}, at: [\u003cffffffff81051a86\u003e] process_one_work+0x126/0x450\n  #1:  ((\u0026(\u0026chan-\u003echan_timer)-\u003ework)){+.+...}, at: [\u003cffffffff81051a86\u003e] process_one_work+0x126/0x450\n\n stack backtrace:\n Pid: 873, comm: kworker/1:1 Not tainted 3.1.0-05270-ga978dc7-dirty #239\n Call Trace:\n  [\u003cffffffff813a0f6e\u003e] print_circular_bug+0xd2/0xe3\n  [\u003cffffffff8106b16d\u003e] check_prev_add+0x6cd/0x6e0\n  [\u003cffffffff8106b276\u003e] check_prevs_add+0xf6/0x170\n  [\u003cffffffff8106b903\u003e] validate_chain+0x613/0x790\n  [\u003cffffffff8106dfee\u003e] __lock_acquire+0x4be/0xac0\n  [\u003cffffffff8130d8f6\u003e] ? lock_sock_nested+0x66/0xa0\n  [\u003cffffffff8106ea30\u003e] ? lock_release_nested+0x100/0x110\n  [\u003cffffffff8130d8f6\u003e] ? lock_sock_nested+0x66/0xa0\n  [\u003cffffffff8106ec2d\u003e] lock_acquire+0x8d/0xb0\n  [\u003cffffffffa002ceac\u003e] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth]\n  [\u003cffffffff8130d91a\u003e] lock_sock_nested+0x8a/0xa0\n  [\u003cffffffffa002ceac\u003e] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth]\n  [\u003cffffffff81051a86\u003e] ? process_one_work+0x126/0x450\n  [\u003cffffffffa002ceac\u003e] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]\n  [\u003cffffffff81051ae4\u003e] process_one_work+0x184/0x450\n  [\u003cffffffff81051a86\u003e] ? process_one_work+0x126/0x450\n  [\u003cffffffffa002ce70\u003e] ? l2cap_security_cfm+0x4e0/0x4e0 [bluetooth]\n  [\u003cffffffff8105276e\u003e] worker_thread+0x15e/0x340\n  [\u003cffffffff81052610\u003e] ? manage_workers+0x110/0x110\n  [\u003cffffffff81057bb6\u003e] kthread+0x96/0xa0\n  [\u003cffffffff813b1ef4\u003e] kernel_thread_helper+0x4/0x10\n  [\u003cffffffff813af69d\u003e] ? retint_restore_args+0xe/0xe\n  [\u003cffffffff81057b20\u003e] ? __init_kthread_worker+0x70/0x70\n  [\u003cffffffff813b1ef0\u003e] ? gs_change+0xb/0xb\n\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "686ebf283ba19f82abd8aaec023cd124749be9ec",
      "tree": "9d10d8bc79779756dd8833a2c6ef8d5ad019ac81",
      "parents": [
        "68a8aea45973c8d0bc05f58389ce9e82e04bb5f6"
      ],
      "author": {
        "name": "Ulisses Furquim",
        "email": "ulisses@profusion.mobi",
        "time": "Wed Dec 21 10:11:33 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 14:07:29 2011 -0200"
      },
      "message": "Bluetooth: Make HCI call directly into SCO and L2CAP event functions\n\nThe struct hci_proto and all related register/unregister and dispatching\ncode was removed. HCI core code now call directly the SCO and L2CAP\nevent functions.\n\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "68a8aea45973c8d0bc05f58389ce9e82e04bb5f6",
      "tree": "e28685f45585430c836427e50a8fb78d4aecb817",
      "parents": [
        "8a154a8feb805394d1fd46281becaf876e18860a"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Dec 19 16:14:18 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 14:03:24 2011 -0200"
      },
      "message": "Bluetooth: Remove magic numbers from le scan cmd\n\nMake code readable by removing magic numbers.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8a154a8feb805394d1fd46281becaf876e18860a",
      "tree": "815452c2ed7e46941bc04a6d9100ebd75c00ec39",
      "parents": [
        "f1e91e1640d808d332498a6b09b2bcd01462eff9"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 17:15:56 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 22 14:02:08 2011 -0200"
      },
      "message": "Bluetooth: fix bt_accept_dequeue() to work in process context\n\nNo local_bh_disable is needed there once we run everything in process\ncontext. The same goes for the replacement of bh_lock_sock() by\nlock_sock().\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b4949b84567f3ae1227d076fc95bbd8efea06506",
      "tree": "0363dabf1e46f17c755aecbd09fc9f0cd30fd6cb",
      "parents": [
        "cd7816d14953c8af910af5bb92f488b0b277e29d",
        "96f1f05af76b601ab21a7dc603ae0a1cea4efc3d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 21 13:18:22 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 21 13:18:22 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "f1e91e1640d808d332498a6b09b2bcd01462eff9",
      "tree": "0532037e97621e971bd1301d4bfd5b02e992c60e",
      "parents": [
        "f2d64f6aa6c681ca00a71c2b3304ed80dc317752"
      ],
      "author": {
        "name": "Ulisses Furquim",
        "email": "ulisses@profusion.mobi",
        "time": "Wed Dec 21 01:32:09 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 21 02:21:08 2011 -0200"
      },
      "message": "Bluetooth: Always compile SCO and L2CAP in Bluetooth Core\n\nThe handling of SCO audio links and the L2CAP protocol are essential to\nany system with Bluetooth thus are always compiled in from now on.\n\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f2d64f6aa6c681ca00a71c2b3304ed80dc317752",
      "tree": "9963338b8b8f6e3519e6e08e334fca91268e8184",
      "parents": [
        "fa0fb93f2ac308a76fa64eb57c18511dadf97089"
      ],
      "author": {
        "name": "Ulisses Furquim",
        "email": "ulisses@profusion.mobi",
        "time": "Tue Dec 20 17:10:51 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 21 02:19:18 2011 -0200"
      },
      "message": "Bluetooth: Remove global mutex hci_task_lock\n\nThe hci_task_lock mutex (previously a lock) was supposed to protect the\nregister/unregister of HCI protocols against RX/TX tasks. This will not\nbe needed anymore because SCO and L2CAP will always be compiled.\n\nMoreover, with the recent move of RX/TX to workqueues per device the\nglobal hci_task_lock was causing starvation between different HCI\ndevices.\n\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "030013d8585bfc9479bb367bf771d96ef8e289a4",
      "tree": "3b2f13e6850adce78d1ba6ac1b798b35954c17f4",
      "parents": [
        "6c9d42a1615c6dc19c4a57a77d9c4b3d779bb741"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 10:57:28 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 17:07:16 2011 -0200"
      },
      "message": "Bluetooth: Rename info_work to info_timer\n\nIt makes more sense this way, since info_timer is a timer using delayed\nwork API.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "6c9d42a1615c6dc19c4a57a77d9c4b3d779bb741",
      "tree": "27c2c72dd631c05de40684535d2028441e2d792e",
      "parents": [
        "c2ec9c1bbd17cdd1fc962f000b4ecb98c1dad830"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 10:57:27 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 17:07:03 2011 -0200"
      },
      "message": "Bluetooth: convert security timer to delayed_work\n\nThis one also needs to run in process context\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c2ec9c1bbd17cdd1fc962f000b4ecb98c1dad830",
      "tree": "9694fd4b5845bdbbe5676b8f010dd3062e636a27",
      "parents": [
        "613a1c0c595fe2f2d9148a705f140a53bc9f56e1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 10:57:26 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 17:06:30 2011 -0200"
      },
      "message": "Bluetooth: Move l2cap_{set,clear}_timer to l2cap.h\n\nIt is the only place where it is used.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "613a1c0c595fe2f2d9148a705f140a53bc9f56e1",
      "tree": "3757193937538e1eb162039c205ae25dc2664d2b",
      "parents": [
        "32ac5b9b57ef521470f930fd00849be4705bc134"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Dec 19 16:31:30 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 17:00:22 2011 -0200"
      },
      "message": "Bluetooth: Clean up magic pointers\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "32ac5b9b57ef521470f930fd00849be4705bc134",
      "tree": "cd27ccf4395dfa0b517e43b81f4d41cff22e4d71",
      "parents": [
        "2455a3ea0c0235fe3c32b67649ff7db3fb892d90"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Dec 19 16:31:29 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 16:59:40 2011 -0200"
      },
      "message": "Bluetooth: Check for flow control mode\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "2455a3ea0c0235fe3c32b67649ff7db3fb892d90",
      "tree": "eb4ed610b82a81bdf4d45a8fdaa914c37ae2e989",
      "parents": [
        "e61ef49966777defa84b04159ea23cdeb2c7cd4c"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Dec 19 16:31:28 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 16:59:30 2011 -0200"
      },
      "message": "Bluetooth: Initialize default flow control mode\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e61ef49966777defa84b04159ea23cdeb2c7cd4c",
      "tree": "4614cde7459c15e650df65e440cd33a4c6e00e59",
      "parents": [
        "27bf88829f50cf1af2b052ecee2f6f0dbe4a5141"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Dec 19 16:31:27 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Dec 20 16:59:12 2011 -0200"
      },
      "message": "Bluetooth: Split ctrl init to BREDR and AMP parts\n\nCurrent controller initialization is moved tp bredr_init and new\nfunction added amp_init to handle later AMP init sequence. Current\nAMP init sequence include Reset and Read Local Version.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "eb93992207dadb946a3b5cf4544957dc924a6f58",
      "tree": "8d840ea0e0e5eb3cf6207a2608d434475a9076b4",
      "parents": [
        "3db1cd5c05f35fb43eb134df6f321de4e63141f2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Dec 19 14:08:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 19 22:27:29 2011 -0500"
      },
      "message": "module_param: make bool parameters really bool (net \u0026 drivers/net)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\n(Thanks to Joe Perches for suggesting coccinelle for 0/1 -\u003e true/false).\n\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9662cbc712babe3f7a792af2bdd47fa0c631f27f",
      "tree": "9a19f5656fb83ab58a4a3773b12ed1036bf8753b",
      "parents": [
        "640f5950a7d9fd0d279d843b261eb934793605fb",
        "4b0b2f088f12e2ada1297502d7bebde182cf65b0"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 19 14:28:22 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 19 14:28:22 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next\n"
    },
    {
      "commit": "4b0b2f088f12e2ada1297502d7bebde182cf65b0",
      "tree": "c3f5bdb06a047eaca8a2e09b6dfd285d0cc26037",
      "parents": [
        "4dad99928211a20a91ec4515ab3b53fd65988f34",
        "d7660918fce210f421cc58c060ca3de71e4ffd37"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Dec 19 11:37:53 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Dec 19 11:37:53 2011 -0200"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n"
    },
    {
      "commit": "d7660918fce210f421cc58c060ca3de71e4ffd37",
      "tree": "ddb4de47fdbc9213cb78cb62354bfb7d6751a659",
      "parents": [
        "79e654787c67f6b05f73366ff8ccac72ba7249e6"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 22:33:30 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 22:33:30 2011 -0200"
      },
      "message": "Revert \"Bluetooth: Revert: Fix L2CAP connection establishment\"\n\nThis reverts commit 4dff523a913197e3314c7b0d08734ab037709093.\n\nIt was reported that this patch cause issues when trying to connect to\nlegacy devices so reverting it.\n\nReported-by: David Fries \u003cdavid@fries.net\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "79e654787c67f6b05f73366ff8ccac72ba7249e6",
      "tree": "c1a498c2af15b6df2387898ac260c84f4a4dbbd1",
      "parents": [
        "36e999a83a4a4badd389901eb6d23a30e199b8db"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Tue Dec 06 16:23:26 2011 -0800"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 22:29:35 2011 -0200"
      },
      "message": "Bluetooth: Clear RFCOMM session timer when disconnecting last channel\n\nWhen the last RFCOMM data channel is closed, a timer is normally set\nup to disconnect the control channel at a later time.  If the control\nchannel disconnect command is sent with the timer pending, the timer\nneeds to be cancelled.\n\nIf the timer is not cancelled in this situation, the reference\ncounting logic for the RFCOMM session does not work correctly when the\nremote device closes the L2CAP connection.  The session is freed at\nthe wrong time, leading to a kernel panic.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "36e999a83a4a4badd389901eb6d23a30e199b8db",
      "tree": "68de431f908075834d37ac856852e08986585ca0",
      "parents": [
        "33cb722c22f28964a501a56cc76397834c221c7a"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu Dec 08 17:23:21 2011 -0800"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 22:16:04 2011 -0200"
      },
      "message": "Bluetooth: Prevent uninitialized data access in L2CAP configuration\n\nWhen configuring an ERTM or streaming mode connection, remote devices\nare expected to send an RFC option in a successful config response.  A\nmisbehaving remote device might not send an RFC option, and the L2CAP\ncode should not access uninitialized data in this case.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "65983fc7bb8df655706cb6e8353b6561b633ee4d",
      "tree": "d1182dc788fdd644d0b8c949e48eb414570e27e9",
      "parents": [
        "f42809185896296d5662778e4ec63e084cfa5f2b"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Tue Dec 13 15:06:02 2011 -0800"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 21:57:21 2011 -0200"
      },
      "message": "Bluetooth: Incoming ACL packets do not force active mode\n\nIncoming sk_buffs always have bt_cb(skb)-\u003eforce_active set to 0, so\nit\u0027s misleading to use that value from the control block when calling\nhci_conn_enter_active_mode() for incoming data. The destination socket\nis not known in the HCI layer, so the force_active setting for each\nsocket isn\u0027t known either. Hard-coding the force_active parameter does\nnot change any behavior, but makes it obvious that incoming ACL data\nnever exits sniff mode.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f42809185896296d5662778e4ec63e084cfa5f2b",
      "tree": "0766db127d949f723df0c64894d2c71eea5cae0d",
      "parents": [
        "350ee4cfc0ea620bd1126ad4daa295586d6aa3a9"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed Dec 07 15:56:52 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 21:35:26 2011 -0200"
      },
      "message": "Bluetooth: Simplify num_comp_pkts_evt function\n\nSimplify function and remove fourth level of indentation.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "350ee4cfc0ea620bd1126ad4daa295586d6aa3a9",
      "tree": "61088ecc044fea570c635cf5429f53b2be385d2d",
      "parents": [
        "c9c2659f1ea84f860af82cac504cc58f17067523"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed Dec 07 15:56:51 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 21:34:56 2011 -0200"
      },
      "message": "Bluetooth: Add HCI Read Data Block Size function\n\nImplement block size read function. Use different variables for\npacket-based and block-based flow control.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c9c2659f1ea84f860af82cac504cc58f17067523",
      "tree": "7cb2ea1d738f305a7dbfcbae670f670323b0edd3",
      "parents": [
        "f71d5a255f047b0ae97c5fa3e78c11ef6ef33b90"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Dec 15 00:47:41 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:43:19 2011 -0200"
      },
      "message": "Bluetooth: Use correct struct for user_confirm_neg_reply\n\nThis patch fixes user_confirm_neg_reply to use the appropriate struct\nfor accessing the call parameters.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "7d78525dcf5c6fe5e6e73d22776ed5f960e3153e",
      "tree": "be4ab2f2c9b140733a685e6ac6da2c7e409b3618",
      "parents": [
        "ef5803729c2323204f7372617ad97e55e94153b9"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Dec 15 00:47:39 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:41:04 2011 -0200"
      },
      "message": "Bluetooth: Add timer for automatically disabling the service cache\n\nWe do not want the service cache to be enabled indefinitely after\nmgmt_read_info is called. To solve this a timer is added which will\nautomatically disable the cache if mgmt_set_dev_class isn\u0027t called\nwithin 5 seconds of calling mgmt_read_info.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "ef5803729c2323204f7372617ad97e55e94153b9",
      "tree": "0dc8f6dbccc05a56cf8f553d23a242ad6db798f7",
      "parents": [
        "14c0b60829751135346d71e7d11649c4f72dc9af"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Dec 15 00:47:38 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:38:08 2011 -0200"
      },
      "message": "Bluetooth: Move EIR and CoD update functions to a better position\n\nDue to the upcoming addition of a service cache timer the functions to\nupdate the EIR and CoD need to be higher up in mgmt.c in order to avoid\nunnecessary forward-declarations. This patch simply moves code around\nwithout any other changes in order to make subsequent patches more\nreadable.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "14c0b60829751135346d71e7d11649c4f72dc9af",
      "tree": "1b1520fdb7a3175f3cba319a5678416da7a168f8",
      "parents": [
        "f7c6869cebe631582fdc2ac57459ee217ce9b015"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Dec 15 00:47:37 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:37:26 2011 -0200"
      },
      "message": "Bluetooth: Remove mgmt_set_service_cache\n\nInstead of having an explicit service cache command we can make the mgmt\nAPI simpler by implicitly enabling the cache when mgmt_read_info is\ncalled for the first time and disabling it when mgmt_set_dev_class is\ncalled.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f7c6869cebe631582fdc2ac57459ee217ce9b015",
      "tree": "b9094ddb8ed6a8254958f245eecf1a4b1467f76d",
      "parents": [
        "69ab39ea5da03e632a51b31534da713aff8d1e3b"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Dec 15 00:47:36 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:34:48 2011 -0200"
      },
      "message": "Bluetooth: Move mgmt_set_fast_connectable to the right location\n\nFast connectable is logically after the connectable property so that\u0027s\nwhere it should show up in the code as well (it\u0027s also after connectable\nin the settings bitfield).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "69ab39ea5da03e632a51b31534da713aff8d1e3b",
      "tree": "3f10083b2ed1bd186f0f38b513453c68954dac45",
      "parents": [
        "590051de5ce54f7ae02997ed0a2532f08c7b7866"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Dec 15 00:47:35 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:34:04 2011 -0200"
      },
      "message": "Bluetooth: Update mgmt_read_info and related mgmt messages\n\nThis patch updates the mgmt_read_info and related messages to the latest\nmanagement API which uses a bitfield of settings instead of individual\nboolean values.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "590051de5ce54f7ae02997ed0a2532f08c7b7866",
      "tree": "3eb6f4e3cad0a9c176b1262263b50fb63fe2af39",
      "parents": [
        "7f971041cf591d8cf3b289c9d78739638ca7e629"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 13:39:33 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:59 2011 -0200"
      },
      "message": "Bluetooth: Add ProFUSION\u0027s copyright\n\nAdd ProFUSION\u0027s copyright to some files I\u0027ve been touching recently.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "7f971041cf591d8cf3b289c9d78739638ca7e629",
      "tree": "8b452bc05bb9cedccee77722bc9f7e82df62ba0e",
      "parents": [
        "6d438e335ce83ff0528415a58632dc6508e4fde1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 12:40:32 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:58 2011 -0200"
      },
      "message": "Bluetooth: Use system workqueue to schedule power_on\n\nhdev-\u003eworkqueue should be only for rx/tx, so move this one out.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "6d438e335ce83ff0528415a58632dc6508e4fde1",
      "tree": "79e191a1c9bd02dfde23c2c38b7c211e5a00e14e",
      "parents": [
        "32845eb1242e4c862de8d27c19ae9b3011f89291"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 17 18:53:02 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:58 2011 -0200"
      },
      "message": "Bluetooth: Remove work_add and work_del from hci_sysfs\n\nAs we run in process context now we don\u0027t need worqueue to add e del from\nsysfs.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "32845eb1242e4c862de8d27c19ae9b3011f89291",
      "tree": "ee4dd05c5c12264bdca123ede2edadd38da26e54",
      "parents": [
        "80b7ab33414beeb3c17600af9b69d903f5cf8a7d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 17 17:47:30 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:58 2011 -0200"
      },
      "message": "Bluetooth: Use new alloc_workqueue()\n\nUpdate hdev workqueue API usage to use the new interface, this new\ninterface also allow us to mark this workqueue as WQ_HIGHPRI, so now rx\nand tx work gets higher priority when running.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "80b7ab33414beeb3c17600af9b69d903f5cf8a7d",
      "tree": "b869a4a292634a0674962dc500915583e8953043",
      "parents": [
        "3d57dc6806599ca7d389fc9410eefbc1a7dc32bc"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 17 14:52:27 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:58 2011 -0200"
      },
      "message": "Bluetooth: move power_off to system workqueue\n\nhdev-\u003eworkqueue will be only for for rx/tx/cmd processing, all other small\nworks should go to the system workqueue for now.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "3d57dc6806599ca7d389fc9410eefbc1a7dc32bc",
      "tree": "bcb1efa2cec7f2e12aff5a5d40b2115c3b738d38",
      "parents": [
        "03a001948166d966d0d580cddb8ae3a23f8b795b"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 17 10:56:45 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:57 2011 -0200"
      },
      "message": "Bluetooth: Change l2cap chan_list to use RCU\n\nThis list has much more reads than writes, so RCU makes senses here, also\nit avoid deadlock against the socket lock.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "03a001948166d966d0d580cddb8ae3a23f8b795b",
      "tree": "341ca43e5feca84870e874eecfc03881e60179d5",
      "parents": [
        "f878fcad1760247c054a9c80964d0b7450d2379b"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 09 04:48:17 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:57 2011 -0200"
      },
      "message": "Bluetooth: invert locking order in connect path\n\nThis move some checking code that was in l2cap_sock_connect() to\nl2cap_chan_connect(). Thus we can invert the lock calls, i.e., call\nlock_sock() before hci_dev_lock() to avoid a deadlock scenario.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f878fcad1760247c054a9c80964d0b7450d2379b",
      "tree": "ca137948498eb9d21a7e1d5fb442ab1d34c959e5",
      "parents": [
        "3eff45eaf81780dad25c167bbaafa7d25ae407da"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 15 01:16:14 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:57 2011 -0200"
      },
      "message": "Bluetooth: convert info timer to delayed_work\n\nAnother step of remove interrupt context from Bluetooth Core.\nUse the system workqueue.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "3eff45eaf81780dad25c167bbaafa7d25ae407da",
      "tree": "f20254e5ded21e81b0313b1f8b56dd0165a09821",
      "parents": [
        "c347b765fe70d718c721cd6d0b979cfbaed83125"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Dec 15 00:50:02 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:57 2011 -0200"
      },
      "message": "Bluetooth: convert tx_task to workqueue\n\nThis should simplify Bluetooth core processing a lot.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c347b765fe70d718c721cd6d0b979cfbaed83125",
      "tree": "f7ab6413eda30d7741173738f6ab1ad5a69c9161",
      "parents": [
        "3c54711c4fd103edf2044ab60726939f1de02b0c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 14 23:53:47 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:57 2011 -0200"
      },
      "message": "Bluetooth: Move command task to workqueue\n\nAs part of the moving on all the Bluetooth processing to Process context.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "3c54711c4fd103edf2044ab60726939f1de02b0c",
      "tree": "3d223484adad4b641deff803182d97f9ece914b2",
      "parents": [
        "bf4c63252490ba78fb833cc7acf1a5b1900c970f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 14 22:58:44 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:57 2011 -0200"
      },
      "message": "Bluetooth: Don\u0027t disable tasklets to call hdev-\u003enotify()\n\nIt\u0027s pointless, we aren\u0027t protecting anything since btusb_notify()\nschedules a work to run, then all it operation happens without protection.\nIf protection is really needed here, we will fix it further.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "bf4c63252490ba78fb833cc7acf1a5b1900c970f",
      "tree": "628e5d6a2b0214a8d6d4c85ce61177a9fd59cbc5",
      "parents": [
        "8192edef03f9b47f1cc1120724db525e63e218f3"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 14 22:54:12 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:56 2011 -0200"
      },
      "message": "Bluetooth: convert conn hash to RCU\n\nHandling hci_conn_hash with RCU make us avoid some locking and disable\ntasklets.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8192edef03f9b47f1cc1120724db525e63e218f3",
      "tree": "5eac8bda79aefa69b41b9914d256aac4431e3c44",
      "parents": [
        "d01b2ff4e6496bc48a1917b6340e13263f871a15"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 14 15:08:48 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:56 2011 -0200"
      },
      "message": "Bluetooth: Use RCU to manipulate chan_list\n\nInstead of using tasklet_disable() to prevent acess to the channel use, we\ncan use RCU and improve the performance of our code.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "d01b2ff4e6496bc48a1917b6340e13263f871a15",
      "tree": "dcbaef3a745c59177c5c87671bfd7c99932bc3cd",
      "parents": [
        "67d0dfb5ec781e9fe030e4e61359ee6eed66ff92"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 09 04:45:12 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:56 2011 -0200"
      },
      "message": "Bluetooth: convert chan_lock to mutex\n\nspin lock doesn\u0027t fit ok anymore on the new code based on workqueues.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "67d0dfb5ec781e9fe030e4e61359ee6eed66ff92",
      "tree": "e1172afdb7a534ad8093bf79fe87a42f4c364f80",
      "parents": [
        "eb403a1b7eea9d736c55f78407dccb42b72757a4"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 09 04:41:30 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:56 2011 -0200"
      },
      "message": "Bluetooth: move hci_task_lock to mutex\n\nNow we can sleep in any path inside Bluetooth core, so mutex can make\nsense here.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "eb403a1b7eea9d736c55f78407dccb42b72757a4",
      "tree": "f95cc9128b0a99b0f7c0838da5c77b7f1fa286e4",
      "parents": [
        "aa2ac881ba1e4e9f878be2ece80001ae8563955c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jun 24 01:54:50 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:55 2011 -0200"
      },
      "message": "Bluetooth: Remove sk_backlog usage from L2CAP\n\nWe run everything in the same lock now. The backlog queue is useless now\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "aa2ac881ba1e4e9f878be2ece80001ae8563955c",
      "tree": "fd6d65e145d42700226b8894738772d3fd6ddbe6",
      "parents": [
        "721c41812daf7b38759942563773a7832e3c990d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jun 24 01:53:01 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:55 2011 -0200"
      },
      "message": "Bluetooth: Don\u0027t use spin_lock socket lock anymore\n\nWe now run everything in process context, so the mutex lock is the best\noption. But in some places we still need the bh_lock_sock()\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "721c41812daf7b38759942563773a7832e3c990d",
      "tree": "8a0ab0aee4b619b91e9e68daca1a1369d29ab18d",
      "parents": [
        "b9cc553f12d14b692d0fcb607d28db783da68139"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Jun 23 19:29:58 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:55 2011 -0200"
      },
      "message": "Bluetooth: Move L2CAP timers to workqueue\n\nL2CAP timers also need to run in process context. As the works in l2cap\nare small we are using the system worqueue.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b9cc553f12d14b692d0fcb607d28db783da68139",
      "tree": "f1218f45f6389b1aa970ec34526d587ad2d58c68",
      "parents": [
        "db323f2fff0ded058f033df6235e8c2be4146bfd"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jun 17 12:58:41 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:55 2011 -0200"
      },
      "message": "Bluetooth: hci_conn_auto_accept() doesn\u0027t need locking\n\nIt doesn\u0027t really touch any sensitive information about hdev. So no need\nto lock here.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "db323f2fff0ded058f033df6235e8c2be4146bfd",
      "tree": "4e267f325506f2cff3b496dc1c52cde57c4a74fd",
      "parents": [
        "19c40e3bcaf2d969f5d4ee85bbe1330b54d36d9c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 20 16:39:29 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:55 2011 -0200"
      },
      "message": "Bluetooth: Use delayed work for advertisiment cache timeout\n\nAs HCI rx path is now done in process context it makes sense to do all the\ntimer in process context as well.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "19c40e3bcaf2d969f5d4ee85bbe1330b54d36d9c",
      "tree": "f854037b80d82f59a9b505d2643102b2a51f0629",
      "parents": [
        "09fd0de5bd8f8ef3317e5365f92f1a13dcd89aa9"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jun 17 13:03:21 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:54 2011 -0200"
      },
      "message": "Bluetooth: Use delayed_work for connection timeout\n\nBluetooth rx task runs now in a workqueue, so it a good approach run any\ntimer that share locking with process context code also in a workqueue.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "09fd0de5bd8f8ef3317e5365f92f1a13dcd89aa9",
      "tree": "e29f1e4fc4555eefb5a39dfd1e230afcf28da999",
      "parents": [
        "b78752cc71d86998d3b77d873c61d6ffdb7a2142"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jun 17 13:03:21 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:54 2011 -0200"
      },
      "message": "Bluetooth: Replace spin_lock by mutex in hci_dev\n\nNow we run everything in HCI in process context, so it\u0027s a better idea use\nmutex instead spin_lock. The macro remains hci_dev_lock() (and I got rid\nof hci_dev_lock_bh()), of course.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b78752cc71d86998d3b77d873c61d6ffdb7a2142",
      "tree": "d1db8a501d3db581adea616621dbe2963f018ca0",
      "parents": [
        "416dc94baa4a0de6904707d17522f7eae7778c8e"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Aug 08 23:06:53 2010 -0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Dec 18 17:07:54 2011 -0200"
      },
      "message": "Bluetooth: Process recv path in a workqueue instead of a tasklet\n\nRun recv process in workqueue helps a lot with our processing as the recv\npath will also be in the process context, i.e., now all our tx and rx are\nin process context.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "416dc94baa4a0de6904707d17522f7eae7778c8e",
      "tree": "3ab74e081091366e3d790e682173e61c86b195c7",
      "parents": [
        "3e9c40a6f72a4ee7a978204cac00f91ad08bbe9b"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 07 13:24:33 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 16 20:51:55 2011 -0200"
      },
      "message": "Bluetooth: make hci_conn_enter_sniff_mode static\n\nIt isn\u0027t used outside hci_conn.c\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "3e9c40a6f72a4ee7a978204cac00f91ad08bbe9b",
      "tree": "8a741f40db1e086d3fc7cc3f7cc6368b874d9d71",
      "parents": [
        "f9c3123b5a7c9585902927b14983e6635aca00c6"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 14 22:52:31 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 16 18:16:15 2011 -0200"
      },
      "message": "Bluetooth: Use list_for_each_entry in hci_conn_hash_flush()\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "f9c3123b5a7c9585902927b14983e6635aca00c6",
      "tree": "8f9cdded7cf4ac55d4dd858e2386ff26332c002b",
      "parents": [
        "dc8ed672caaab054caf62557e46dfed08848a85f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 09 04:40:10 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 16 18:16:14 2011 -0200"
      },
      "message": "Bluetooth: Use chan instead of l2cap_pi macro\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "2c33c06a8fd2f784ca763ad150d5d63c3c49946e",
      "tree": "c8ccf68c9df1f1d8cdc7ef8da2a182b25f584a8a",
      "parents": [
        "5a13b09531420d230616bd524b68a5b0c23cd487"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 14 13:02:51 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Dec 16 18:16:14 2011 -0200"
      },
      "message": "Bluetooth: remove struct hci_chan_hash\n\nOnly the list member of the struct was used, so we now fold it into\nhci_conn.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e7ab5f1c323e137120561daeec75e91a1bd9ec8b",
      "tree": "758be4a11287005187b055ee8f8112a24d7d8ce5",
      "parents": [
        "1af32f0fcf33ddca52c8fd2b5bc84c129dcb1bdd",
        "329456d1ffb416c220813725b7363cda9975c9aa"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 09 14:07:12 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 09 14:07:12 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "5f779bbd472cdb2046ff8b672ad8c5b62b61cd19",
      "tree": "151dc07e9a69dd48e38251ba88811490ca16969a",
      "parents": [
        "d7a4858c0fde8383f7aa494eda0fba6bef3f2fec",
        "5a13b09531420d230616bd524b68a5b0c23cd487"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 06 16:02:05 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 06 16:02:05 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next\n"
    },
    {
      "commit": "5a13b09531420d230616bd524b68a5b0c23cd487",
      "tree": "b95db310878d5543a9bcb329b08e3b672b14da4e",
      "parents": [
        "d095c1ebd43a43c1d78055ff111f464b04f8624e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu Dec 01 14:33:28 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 03 08:28:17 2011 +0900"
      },
      "message": "Bluetooth: trivial: correct check for LMP version\n\nMake sure that code match exactly what comment says about pre 1.2\nbluetooth version. Since this is HCI detail lmp_ver changed to hci_ver.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "d095c1ebd43a43c1d78055ff111f464b04f8624e",
      "tree": "9bac3cbfc9da1155c0f7cad65dc150c339d9d429",
      "parents": [
        "5c69b0ada634bca4111fcc332df5fad2447ec90f"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu Dec 01 14:33:27 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 03 08:27:58 2011 +0900"
      },
      "message": "Bluetooth: Remove magic bluetooth version numbers\n\nUse bluetooth names instead of BT SIG assigned numbers\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "5c69b0ada634bca4111fcc332df5fad2447ec90f",
      "tree": "d54e608075292c97e54bfd182ceef061aa3fc7df",
      "parents": [
        "ce7e4ad1436a0139c16225f2376134cff3ad24fe",
        "33cb722c22f28964a501a56cc76397834c221c7a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 03 08:26:25 2011 +0900"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 03 08:26:25 2011 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth\n"
    },
    {
      "commit": "33cb722c22f28964a501a56cc76397834c221c7a",
      "tree": "ee8cf8e2955b4e610efa89e3d2c1d43b83720fa3",
      "parents": [
        "54a8a79c55ce283c94ce4c67a98d28c21830405a"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed Nov 23 11:23:34 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Dec 03 08:20:00 2011 +0900"
      },
      "message": "Bluetooth: Correct version check in hci_setup\n\nCheck for hci_ver instead of lmp_ver\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    }
  ],
  "next": "ce7e4ad1436a0139c16225f2376134cff3ad24fe"
}
