)]}'
{
  "log": [
    {
      "commit": "aee9b218036476b8b659de5bbfada3a4633f635b",
      "tree": "580600bc5bbbbbf2bea806705ad9355ad624c1e3",
      "parents": [
        "3c6b764020d19b0993fe67f938b4b08f25c9bdd9"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sat Feb 18 15:07:59 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Feb 19 14:04:41 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Move status parameters into the cmd_complete header\n\nInstead of having status paramters part of each individual command\nresponse it\u0027s simpler to just have the status as part of the command\ncomplete header. This patch updates the code to follow this convention\nand thereby also ensures compliance with the latest mgmt API\nspecification.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3c6b764020d19b0993fe67f938b4b08f25c9bdd9",
      "tree": "c193651035bd382c23c4eef9473f14e0da61fee0",
      "parents": [
        "5e0452c00a2e4b04ec1482248c897dacf106f1df"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sat Feb 18 14:49:58 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Feb 19 14:04:41 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Change ordering of cmd_status paramters\n\nIn accordance to the latest mgmt API specification the opcode comes\nfirst and then the status.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5e0452c00a2e4b04ec1482248c897dacf106f1df",
      "tree": "34bbd940ed96cc736dcd8dd9311414f8f035839e",
      "parents": [
        "343f935bfa44189c68527102c409286b0cfc4526"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 17 20:39:38 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Feb 19 12:34:55 2012 +0200"
      },
      "message": "Bluetooth: Interleaved discovery support\n\nThis patch adds interleaved discovery support to MGMT Start\nDiscovery command.\n\nIn case interleaved discovery is not supported (not a dual mode\ndevice), we perform BR/EDR or LE-only discovery according to the\ndevice capabilities.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "343f935bfa44189c68527102c409286b0cfc4526",
      "tree": "7597224c044e879c31bda46e32dd5a3f256ffd1b",
      "parents": [
        "4aab14e5504e84c42534378f91e836e6f55d0886"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 17 20:39:37 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Feb 19 12:34:09 2012 +0200"
      },
      "message": "Bluetooth: Merge INQUIRY and LE_SCAN discovery states\n\nThis patch merges DISCOVERY_INQUIRY and DISCOVERY_LE_SCAN states\ninto a new state called DISCOVERY_FINDING.\n\nFrom the discovery perspective, we are pretty much worried about\nto know just if we are finding devices than what exactly phase of\n\"finding devices\" (inquiry or LE scan) we are currently running.\nBesides, to know if the controller is performing inquiry or LE scan\nwe should check HCI_INQUIRY or HCI_LE_SCAN bits in hdev flags.\n\nMoreover, merging this two states will simplify the discovery state\nmachine and will keep interleaved discovery implementation simpler.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "4aab14e5504e84c42534378f91e836e6f55d0886",
      "tree": "9378f2f0d3e345788e8853b3bb7ea2fa4d70558e",
      "parents": [
        "f39799f5047c4827b200acbf33cd0ba076afd7ed"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 17 20:39:36 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Feb 19 12:33:49 2012 +0200"
      },
      "message": "Bluetooth: Track discovery type\n\nThis patch adds to struct discovery_state the field \u0027type\u0027 so that\nwe can track the discovery type the device is performing.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "f39799f5047c4827b200acbf33cd0ba076afd7ed",
      "tree": "91aaf60a5aeb5e0bbac57ec056f71552a695372a",
      "parents": [
        "ea585ab51d3fe2eb2d738c91f83e7c309e76b4fe"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 17 20:39:35 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Feb 19 12:32:21 2012 +0200"
      },
      "message": "Bluetooth: Prepare start_discovery\n\nThis patch does some code refactoring in start_discovery function\nin order to prepare it for interleaved discovery support.\n\nMGMT_ADDR_* macros were moved to hci_core.h since they are now used\nto define discovery type macros.\n\nDiscovery type macros were defined according to mgmt-api.txt\nspecification:\n\nPossible values for the Type parameter are a bit-wise or of the\nfollowing bits:\n\n\t1\tBR/EDR\n\t2\tLE Public\n\t3\tLE Random\n\nBy combining these e.g. the following values are possible:\n\n\t1\tBR/EDR\n\t6\tLE (public \u0026 random)\n\t7\tBR/EDR/LE (interleaved discovery)\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "ea585ab51d3fe2eb2d738c91f83e7c309e76b4fe",
      "tree": "e677a889cdcf82c61c5834da220edd734bb5d6c4",
      "parents": [
        "a198e7b100b26dd6ac0240487ca37bad0f53e3e6"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 14:50:39 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 15:35:39 2012 +0200"
      },
      "message": "Bluetooth: Add Intel copyright to mgmt files\n\nThis patch adds the appropriate Intel copyright to mgmt files.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a198e7b100b26dd6ac0240487ca37bad0f53e3e6",
      "tree": "9389498822eda64c2f1a6bc71093572fadb658cb",
      "parents": [
        "d8457698e7f23a05055396a15ec72ba663282867"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 14:27:06 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 14:39:16 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add address type to confirm name command\n\nThe latest mgmt API includes an address type for all messages containing\nan address. This patch updates the confirm name command to match this.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d8457698e7f23a05055396a15ec72ba663282867",
      "tree": "a3e5e0b749cbdbf19e1224aebc6c8cabd32397cb",
      "parents": [
        "d753fdc40f60da2eef03b4816392081a552fea5a"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 14:24:57 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 14:39:16 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add address type to PIN code messages\n\nThe latest mgmt API includes address types for all messages containing\nan address. This patch updates the PIN code messages to match this.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d753fdc40f60da2eef03b4816392081a552fea5a",
      "tree": "1ebfe8e4d39cd253345488f1645f6df1329d3700",
      "parents": [
        "42d2d87cfe837e987802588f8d8b119a76714a74"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 14:06:34 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 14:39:16 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add address type to link key messages\n\nThe latest mgmt API includes an address type wherever there\u0027s an address\npresent. This patch updates the link key messages to match it.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "42d2d87cfe837e987802588f8d8b119a76714a74",
      "tree": "db9e84b042095eb1251736b851471750f7168a96",
      "parents": [
        "e05dcc3291dcfe9ab1b456f38ccb3041ebbda59c"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Feb 17 11:40:57 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 13:02:33 2012 +0200"
      },
      "message": "Bluetooth: Prefix hex numbers with object name\n\nSeveral hex numbers were printed without object name which\ncomplicates debugging.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "e05dcc3291dcfe9ab1b456f38ccb3041ebbda59c",
      "tree": "b1d7c7a5b31160e5689b693e446dbdda52f8d2c7",
      "parents": [
        "20d1803a70ddafc8410b461caaa397e49da246ac"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Feb 17 11:40:56 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 13:01:54 2012 +0200"
      },
      "message": "Bluetooth: Use symbolic names for state in debug\n\nUse state_to_string function in debug statements.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "20d1803a70ddafc8410b461caaa397e49da246ac",
      "tree": "d2347c25bb35832d6c931bdb1711c16f3f57d441",
      "parents": [
        "3ed7003e724a04482e0ef1e794eece8c1c177b37"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Feb 17 11:40:55 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 13:01:10 2012 +0200"
      },
      "message": "Bluetooth: Move scope of state_to_string\n\nFunction state_to_string will be used in other files in debug\nstatements.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "3ed7003e724a04482e0ef1e794eece8c1c177b37",
      "tree": "a098bcf0b24e9b9b0d6a94192e250db91e6c86f4",
      "parents": [
        "ed2c4ee360709ca838efa0ea4d6295590aff3d24"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Feb 16 23:32:42 2012 -0800"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 11:33:17 2012 +0200"
      },
      "message": "Bluetooth: Add logging functions bt_info and bt_err\n\nUse specific logging functions instead of a generic\nbt_printk function can save some text.\n\nRemove now unused bt_printk function.\nAdd compatibility BT_INFO and BT_ERR macros.\n\n(compiled x86 and defconfig with bluetooth and all bluetooth drivers)\n\n$ size net/bluetooth/built-in.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 381662\t  20072\t 100416\t 502150\t  7a986\tnet/bluetooth/built-in.o.allyesconfig.new\n 382463\t  20072\t 100400\t 502935\t  7ac97\tnet/bluetooth/built-in.o.allyesconfig.old\n 126635\t   1388\t    132\t 128155\t  1f49b\tnet/bluetooth/built-in.o.defconfig.new\n 127175\t   1388\t    132\t 128695\t  1f6b7\tnet/bluetooth/built-in.o.defconfig.old\n\n$ size drivers/bluetooth/built-in.o*\n 127575\t   8976\t  29476\t 166027\t  2888b\tdrivers/bluetooth/built-in.o.allyesconfig.new\n 129512\t   8976\t  29516\t 168004\t  29044\tdrivers/bluetooth/built-in.o.allyesconfig.old\n  52998\t   3292\t    156\t  56446\t   dc7e\tdrivers/bluetooth/built-in.o.defconfig.new\n  54358\t   3292\t    156\t  57806\t   e1ce\tdrivers/bluetooth/built-in.o.defconfig.old\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "ed2c4ee360709ca838efa0ea4d6295590aff3d24",
      "tree": "1503b376c8845f87941a06985850b5409b0b88ec",
      "parents": [
        "33ef95ed30283eb17c686a815caf1d33e966fe4a"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 00:56:28 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 11:27:11 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add support for Set SSP command\n\nThe Set SSP mgmt command can be used for enabling and disabling Secure\nSimple Pairing support for controllers that support it.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "33ef95ed30283eb17c686a815caf1d33e966fe4a",
      "tree": "a989ac26b6f9c47fcf6bac5664806af2459455f6",
      "parents": [
        "7bb895d68e0c18b730bd89f2ed7e58de0e3a591a"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 16 23:56:27 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 11:27:11 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add support for Set Link Security command\n\nThe Set Link Security mgmt command is used to enable or disable link\nlevel security, also known as Security Mode 3. This is rarely enabled in\nmodern systems but the command needs to be available for completeness,\nqualification purposes and those few systems that actually want to\nenable it.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7bb895d68e0c18b730bd89f2ed7e58de0e3a591a",
      "tree": "32f88754d18f58e7fa2232077190e6f3cb1d8d05",
      "parents": [
        "76a7f3a40c2bfbdb5f2b23ac780fa4e4f22e8659"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 01:20:00 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 11:27:11 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Use more consistent error variable names\n\nFor simple integer errors the variable name \"err\" is more consistent\nwith the existing code base than \"ret\".\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "76a7f3a40c2bfbdb5f2b23ac780fa4e4f22e8659",
      "tree": "eba2d9b800e7681a7841bb34408ae514fb644803",
      "parents": [
        "7ddb6e0f3f7aa265c905b947e9ac4ab9562e52f2"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 00:34:40 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Feb 17 11:27:11 2012 +0200"
      },
      "message": "Bluetooth: Remove unused member from cmd_lookup struct\n\nThe val member of cmd_lookup isn\u0027t used anywhere so it can be removed.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7ddb6e0f3f7aa265c905b947e9ac4ab9562e52f2",
      "tree": "c284114f6d8a77aecf0a00f8aae1ab54315597b7",
      "parents": [
        "46479e698530b8197d601a23317b7c7654195338"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue Feb 14 15:12:57 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 16 15:15:08 2012 +0200"
      },
      "message": "Bluetooth: Do not dereference zero sk\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "46479e698530b8197d601a23317b7c7654195338",
      "tree": "710b2758ecd7d8a6ada37724c5d4c8027d5f358f",
      "parents": [
        "7b99b659d90c5d421cb1867295c78a4c0c030734",
        "ca994a36f585432458ead9133fcfe05440edbb7b"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 16 14:23:04 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 16 14:25:34 2012 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git\n\nConflicts:\n\tinclude/net/bluetooth/l2cap.h\n\tnet/bluetooth/hci_conn.c\n\tnet/bluetooth/l2cap_core.c\n"
    },
    {
      "commit": "ca994a36f585432458ead9133fcfe05440edbb7b",
      "tree": "be05512153a9cd5cbe1f1234bc09fd9cd388ec58",
      "parents": [
        "12325280dfeba18164f9c47e226a40ab34e23ee7",
        "2504a6423b9ab4c36df78227055995644de19edb"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 16:24:37 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 16:24:37 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n\nConflicts:\n\tnet/mac80211/debugfs_sta.c\n\tnet/mac80211/sta_info.h\n"
    },
    {
      "commit": "2504a6423b9ab4c36df78227055995644de19edb",
      "tree": "911bd00987bca9db89a40874ad44ae956e024b5d",
      "parents": [
        "6670f15b1f6858a43b292d8ab64464e9f085a6aa"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Sat Feb 11 10:01:53 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 13:56:15 2012 -0500"
      },
      "message": "ath9k: stop on rates with idx -1 in ath9k rate control\u0027s .tx_status\n\nRate control algorithms are supposed to stop processing when they\nencounter a rate with the index -1.  Checking for rate-\u003ecount not being\nzero is not enough.\n\nAllowing a rate with negative index leads to memory corruption in\nath_debug_stat_rc().\n\nOne consequence of the bug is discussed at\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d768639\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6670f15b1f6858a43b292d8ab64464e9f085a6aa",
      "tree": "ba8cb3ade8da94277d134dc3d9c2d4081f9459ee",
      "parents": [
        "216c57b214bd621335ff698b475f6db2802502dc"
      ],
      "author": {
        "name": "Amitkumar Karwar",
        "email": "akarwar@marvell.com",
        "time": "Thu Feb 09 18:32:22 2012 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 13:56:15 2012 -0500"
      },
      "message": "mwifiex: clear previous security setting during association\n\nDriver maintains different flags for WEP, WPA, WPA2 security modes.\nAppropriate flag is set using security information provided in\nconnect request. mwifiex_is_network_compatible() routine uses them\nto check if driver\u0027s setting is compatible with AP. Association is\naborted if the routine fails.\n\nFor some corner cases, it is observed that association is failed\neven for valid security information based on association history.\nThis patch fixes the problem by clearing previous security setting\nduring each association.\n\nWe should set WEP key provided in connect request as default tx key.\nThis missing change is also added here.\n\nSigned-off-by: Amitkumar Karwar \u003cakarwar@marvell.com\u003e\nSigned-off-by: Bing Zhao \u003cbzhao@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "216c57b214bd621335ff698b475f6db2802502dc",
      "tree": "3d436e04f60577c634106db5099f39e376b98a86",
      "parents": [
        "4b5a433ae5348c23caa0b5f0a2fca7c342acb200"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Feb 08 19:17:11 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 13:56:06 2012 -0500"
      },
      "message": "mac80211: do not call rate control .tx_status before .rate_init\n\nMost rate control implementations assume .get_rate and .tx_status are only\ncalled once the per-station data has been fully initialized.\nminstrel_ht crashes if this assumption is violated.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nTested-by: Arend van Spriel \u003carend@broadcom.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4b5a433ae5348c23caa0b5f0a2fca7c342acb200",
      "tree": "023096819178eb695a78eb2de271af6470ff29c3",
      "parents": [
        "24d2b8c0ac5c8ec41c26ed432238b0e027184882"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:23 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 13:56:06 2012 -0500"
      },
      "message": "mac80211: call rate control only after init\n\nThere are situations where we don\u0027t have the\nnecessary rate control information yet for\nstation entries, e.g. when associating. This\ncurrently doesn\u0027t really happen due to the\ndummy station handling; explicitly disabling\nrate control when it\u0027s not initialised will\nallow us to remove dummy stations.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b99b659d90c5d421cb1867295c78a4c0c030734",
      "tree": "44533b3e9e43b4582d1ca3424e89dec1c7f8bf3c",
      "parents": [
        "203159d486006a18fa1ccf787a10d15d3128cdac"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Mon Feb 13 15:41:02 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 15:23:36 2012 +0200"
      },
      "message": "Bluetooth: Fix event sending with DISCOVERY_STOPPED state\n\nWe are not supposed to send mgmt_discovering events if we are transiting\nfrom DISCOVERY_STARTING to DISCOVERY_STOPPED state. It doesn\u0027t make\nsense to send mgmt_discovering event once discovery procedure has not\nbeen even started.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "203159d486006a18fa1ccf787a10d15d3128cdac",
      "tree": "7879f84c8c9161215664fd98d9b760c0a0efa1c0",
      "parents": [
        "e70bb2e89959983aebcfce28f645a1104ffa9ab2"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Mon Feb 13 15:41:01 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 15:23:27 2012 +0200"
      },
      "message": "Bluetooth: Fix discovery state machine\n\nIn case of Start Discovery command failure, we should set the discovery\nstate to DISCOVERY_STOPPED. Otherwise, we stuck at DISCOVERY_STARTING\nstate and subsequent Start Discovery commands will simply fail.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "e70bb2e89959983aebcfce28f645a1104ffa9ab2",
      "tree": "721c67618b45cce0d6adc610f59589d5ef9bc816",
      "parents": [
        "9ab875affbe61b2c88685c342461c9a367ab7a3e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 16:59:33 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 14:28:07 2012 +0200"
      },
      "message": "Bluetooth: Implement Read Supported Commands commands for mgmt\n\nThis patch implements the Read Supported Commands mgmt command which was\nrecently added to the API specification. It returns a list of supported\ncommands and events to user space.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "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": "403f048a57050add364827fb3e2650af86463168",
      "tree": "0aaa4c5a458a60e6f9ced6b0a38f73bb0eca373b",
      "parents": [
        "ca0d6c7ece0e78268cd7c5c378d6b1b610625085"
      ],
      "author": {
        "name": "Manoj Iyer",
        "email": "manoj.iyer@canonical.com",
        "time": "Thu Feb 02 09:32:36 2012 -0600"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0\n\nT: Bus\u003d01 Lev\u003d02 Prnt\u003d02 Port\u003d03 Cnt\u003d03 Dev#\u003d 5 Spd\u003d12 MxCh\u003d 0\nD: Ver\u003d 2.00 Cls\u003dff(vend.) Sub\u003d01 Prot\u003d01 MxPS\u003d64 #Cfgs\u003d 1\nP: Vendor\u003d0a5c ProdID\u003d21f3 Rev\u003d01.12\nS: Manufacturer\u003dBroadcom Corp\nS: Product\u003dBCM20702A0\nS: SerialNumber\u003d74DE2B344A7B\nC: #Ifs\u003d 4 Cfg#\u003d 1 Atr\u003de0 MxPwr\u003d0mA\nI: If#\u003d 0 Alt\u003d 0 #EPs\u003d 3 Cls\u003dff(vend.) Sub\u003d01 Prot\u003d01 Driver\u003d(none)\nI: If#\u003d 1 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003d01 Prot\u003d01 Driver\u003d(none)\nI: If#\u003d 2 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003d(none)\nI: If#\u003d 3 Alt\u003d 0 #EPs\u003d 0 Cls\u003dfe(app. ) Sub\u003d01 Prot\u003d01 Driver\u003d(none)\n\nSigned-off-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nTested-by: Dennis Chua \u003cdennis.chua@canonical.com\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": "a51cd2be864a3cc0272359b1995e213341dfc7e7",
      "tree": "6d67396ca7e3243ad8dcfb94457e9f0583fe16ac",
      "parents": [
        "b5a30dda6598af216c070165ece6068f9f00f33a"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Jan 27 19:42:02 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: Fix potential deadlock\n\nWe don\u0027t need to use the _sync variant in hci_conn_hold and\nhci_conn_put to cancel conn-\u003edisc_work delayed work. This way\nwe avoid potential deadlocks like this one reported by lockdep.\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 ]\n3.2.0+ #1 Not tainted\n-------------------------------------------------------\nkworker/u:1/17 is trying to acquire lock:\n (\u0026hdev-\u003elock){+.+.+.}, at: [\u003cffffffffa0041155\u003e] hci_conn_timeout+0x62/0x158 [bluetooth]\n\nbut task is already holding lock:\n ((\u0026(\u0026conn-\u003edisc_work)-\u003ework)){+.+...}, at: [\u003cffffffff81035751\u003e] process_one_work+0x11a/0x2bf\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #2 ((\u0026(\u0026conn-\u003edisc_work)-\u003ework)){+.+...}:\n       [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n       [\u003cffffffff81034ed1\u003e] wait_on_work+0x3d/0xaa\n       [\u003cffffffff81035b54\u003e] __cancel_work_timer+0xac/0xef\n       [\u003cffffffff81035ba4\u003e] cancel_delayed_work_sync+0xd/0xf\n       [\u003cffffffffa00554b0\u003e] smp_chan_create+0xde/0xe6 [bluetooth]\n       [\u003cffffffffa0056160\u003e] smp_conn_security+0xa3/0x12d [bluetooth]\n       [\u003cffffffffa0053640\u003e] l2cap_connect_cfm+0x237/0x2e8 [bluetooth]\n       [\u003cffffffffa004239c\u003e] hci_proto_connect_cfm+0x2d/0x6f [bluetooth]\n       [\u003cffffffffa0046ea5\u003e] hci_event_packet+0x29d1/0x2d60 [bluetooth]\n       [\u003cffffffffa003dde3\u003e] hci_rx_work+0xd0/0x2e1 [bluetooth]\n       [\u003cffffffff810357af\u003e] process_one_work+0x178/0x2bf\n       [\u003cffffffff81036178\u003e] worker_thread+0xce/0x152\n       [\u003cffffffff81039a03\u003e] kthread+0x95/0x9d\n       [\u003cffffffff812e7754\u003e] kernel_thread_helper+0x4/0x10\n\n-\u003e #1 (slock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}:\n       [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n       [\u003cffffffff812e553a\u003e] _raw_spin_lock_bh+0x36/0x6a\n       [\u003cffffffff81244d56\u003e] lock_sock_nested+0x24/0x7f\n       [\u003cffffffffa004d96f\u003e] lock_sock+0xb/0xd [bluetooth]\n       [\u003cffffffffa0052906\u003e] l2cap_chan_connect+0xa9/0x26f [bluetooth]\n       [\u003cffffffffa00545f8\u003e] l2cap_sock_connect+0xb3/0xff [bluetooth]\n       [\u003cffffffff81243b48\u003e] sys_connect+0x69/0x8a\n       [\u003cffffffff812e6579\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #0 (\u0026hdev-\u003elock){+.+.+.}:\n       [\u003cffffffff81056d06\u003e] __lock_acquire+0xa80/0xd74\n       [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n       [\u003cffffffff812e3870\u003e] __mutex_lock_common+0x48/0x38e\n       [\u003cffffffff812e3c75\u003e] mutex_lock_nested+0x2a/0x31\n       [\u003cffffffffa0041155\u003e] hci_conn_timeout+0x62/0x158 [bluetooth]\n       [\u003cffffffff810357af\u003e] process_one_work+0x178/0x2bf\n       [\u003cffffffff81036178\u003e] worker_thread+0xce/0x152\n       [\u003cffffffff81039a03\u003e] kthread+0x95/0x9d\n       [\u003cffffffff812e7754\u003e] kernel_thread_helper+0x4/0x10\n\nother info that might help us debug this:\n\nChain exists of:\n  \u0026hdev-\u003elock --\u003e slock-AF_BLUETOOTH-BTPROTO_L2CAP --\u003e (\u0026(\u0026conn-\u003edisc_work)-\u003ework)\n\n Possible unsafe locking scenario:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock((\u0026(\u0026conn-\u003edisc_work)-\u003ework));\n                               lock(slock-AF_BLUETOOTH-BTPROTO_L2CAP);\n                               lock((\u0026(\u0026conn-\u003edisc_work)-\u003ework));\n  lock(\u0026hdev-\u003elock);\n\n *** DEADLOCK ***\n\n2 locks held by kworker/u:1/17:\n #0:  (hdev-\u003ename){.+.+.+}, at: [\u003cffffffff81035751\u003e] process_one_work+0x11a/0x2bf\n #1:  ((\u0026(\u0026conn-\u003edisc_work)-\u003ework)){+.+...}, at: [\u003cffffffff81035751\u003e] process_one_work+0x11a/0x2bf\n\nstack backtrace:\nPid: 17, comm: kworker/u:1 Not tainted 3.2.0+ #1\nCall Trace:\n [\u003cffffffff812e06c6\u003e] print_circular_bug+0x1f8/0x209\n [\u003cffffffff81056d06\u003e] __lock_acquire+0xa80/0xd74\n [\u003cffffffff81021ef2\u003e] ? arch_local_irq_restore+0x6/0xd\n [\u003cffffffff81022bc7\u003e] ? vprintk+0x3f9/0x41e\n [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n [\u003cffffffffa0041155\u003e] ? hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff812e3870\u003e] __mutex_lock_common+0x48/0x38e\n [\u003cffffffffa0041155\u003e] ? hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff81190fd6\u003e] ? __dynamic_pr_debug+0x6d/0x6f\n [\u003cffffffffa0041155\u003e] ? hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff8105320f\u003e] ? trace_hardirqs_off+0xd/0xf\n [\u003cffffffff812e3c75\u003e] mutex_lock_nested+0x2a/0x31\n [\u003cffffffffa0041155\u003e] hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff810357af\u003e] process_one_work+0x178/0x2bf\n [\u003cffffffff81035751\u003e] ? process_one_work+0x11a/0x2bf\n [\u003cffffffff81055af3\u003e] ? lock_acquired+0x1d0/0x1df\n [\u003cffffffffa00410f3\u003e] ? hci_acl_disconn+0x65/0x65 [bluetooth]\n [\u003cffffffff81036178\u003e] worker_thread+0xce/0x152\n [\u003cffffffff810407ed\u003e] ? finish_task_switch+0x45/0xc5\n [\u003cffffffff810360aa\u003e] ? manage_workers.isra.25+0x16a/0x16a\n [\u003cffffffff81039a03\u003e] kthread+0x95/0x9d\n [\u003cffffffff812e7754\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff812e5db4\u003e] ? retint_restore_args+0x13/0x13\n [\u003cffffffff8103996e\u003e] ? __init_kthread_worker+0x55/0x55\n [\u003cffffffff812e7750\u003e] ? gs_change+0x13/0x13\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nReviewed-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": "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": "331660637b4e5136602a98200a84f6b65ed8d5be",
      "tree": "0fe6f4a3bd4ba98855b039af5a4c066d50ac7cc7",
      "parents": [
        "6e1da683f79a22fafaada62d547138daaa9e3456"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Wed Jan 04 11:57:17 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:26 2012 +0200"
      },
      "message": "Bluetooth: Fix using an absolute timeout on hci_conn_put()\n\nqueue_delayed_work() expects a relative time for when that work\nshould be scheduled.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\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": "19ad9e94f6e2b4b3e1feccfb2466eb6e3e5b8c2a",
      "tree": "8227320fee1abc4db1aa0aeefcfde5b0f2b2f87d",
      "parents": [
        "18daf1644e634bae951a6e3d4d19d89170209762"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "daniel.wagner@bmw-carit.de",
        "time": "Tue Jan 03 11:53:53 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 15 13:09:25 2012 +0200"
      },
      "message": "Bluetooth: Don\u0027t mark non xfer isoc endpoint URBs with URB_ISO_ASAP\n\n[ 2096.384084] btusb_send_frame:684: hci0\n[ 2096.384087] usb 3-1: BOGUS urb flags, 2 --\u003e 0\n[ 2096.384091] Bluetooth: hci0 urb ffff8801b61d3a80 submission failed (22)\n\nAccording the documentation in usb_submit_urb() URB_ISO_ASAP\nflag is only allowed for endpoints of type USB_ENDPOINT_XFER_ISOC.\n\nThis reverts commit b8aabfc92249b239c425da7e4ca85b7e4855e984.\n\nSigned-off-by: Daniel Wagner \u003cdaniel.wagner@bmw-carit.de\u003e\nAcked-by: Luiz Augusto von Dentz \u003cluiz.von.dentz@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\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": "9ab875affbe61b2c88685c342461c9a367ab7a3e",
      "tree": "c3386a10c79f33eab3cddcf258453ae4129ec9a5",
      "parents": [
        "2dd106887d6503819f2cedc408497023547439bb"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Thu Feb 09 21:58:31 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:38 2012 +0200"
      },
      "message": "Bluetooth: btusb: Remove device lock on release\n\nRecently we changed the way how we release driver-data. A driver is now\nresponsible of destroying the data so we no longer need the device lock\non deinitialization in btusb driver.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@googlemail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "2dd106887d6503819f2cedc408497023547439bb",
      "tree": "376decf2b0c78a54c58493b92ab6f5c0b1951d7a",
      "parents": [
        "3dc07322b1ce3c8477690d54ebbf15a165f43066"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Thu Feb 09 21:58:34 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:38 2012 +0200"
      },
      "message": "Bluetooth: Use proper datatypes in release-callbacks\n\nThis enhances code readability a lot and avoids using void* even though\nwe know the type of the variable.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@googlemail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "3dc07322b1ce3c8477690d54ebbf15a165f43066",
      "tree": "c66786eff790fdb08747b3f92ee5014a5569d4e8",
      "parents": [
        "155961e8001719af6d87cbcc961111e8ce477843"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Thu Feb 09 21:58:33 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:37 2012 +0200"
      },
      "message": "Bluetooth: Introduce to_hci_conn\n\nThis avoids using the dev_set/get_drvdata() functions to retrieve a\npointer to our own structure. We can use simple pointer arithmetic here.\nThe drvdata field is actually not needed by any other code-path but this\nmakes the code more consistent with hci_dev.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@googlemail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "155961e8001719af6d87cbcc961111e8ce477843",
      "tree": "5b2485b5a7b2074f9e01111cf8539a34f34ce2d5",
      "parents": [
        "aa2b86d761a95068354511de755695ef6b53afc7"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Thu Feb 09 21:58:32 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:37 2012 +0200"
      },
      "message": "Bluetooth: Remove hci_dev-\u003edriver_data\n\nThe linux device model provides dev_set/get_drvdata so we can use this\nto save private driver data.\nThis also removes several unnecessary casts.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@googlemail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "aa2b86d761a95068354511de755695ef6b53afc7",
      "tree": "704eeeb173b859311ebc23d6881fa40575f43851",
      "parents": [
        "b1078ad0be344e7bec6e7991f33df17565d24e08"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Thu Feb 09 21:58:30 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:37 2012 +0200"
      },
      "message": "Bluetooth: Introduce to_hci_dev()\n\nWe currently use dev_set_drvdata to keep a pointer to ourself. This\ndoesn\u0027t make sense as we are the bus and not a driver. Therefore,\nintroduce to_hci_dev() so we can get a struct hci_dev pointer from a\nstruct device pointer.\n\ndev_set/get_drvdata() is reserved for drivers that provide a device and\nnot for the bus using the device. The bus can use simple pointer\narithmetic to retrieve its private data.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@googlemail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "b1078ad0be344e7bec6e7991f33df17565d24e08",
      "tree": "959a51367996856bcb0be46a7712bde0b2225a8f",
      "parents": [
        "82eb703efc2ad2ac52cada85a5119bb9dfcea942"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 17:21:16 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:37 2012 +0200"
      },
      "message": "Bluetooth: Add Device Unpaired mgmt event\n\nThis patch add a new Device Unpaired mgmt event. This will be sent to\nall mgmt sockets except the one that requested unpairing (that socket\nwill get a command complete instead). The event is also reserved for\nfuture SMP updates where a remote device will be able to request pairing\nrevocation from us.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "82eb703efc2ad2ac52cada85a5119bb9dfcea942",
      "tree": "a3c772d239cb6705f116f74de687b5aca24849c4",
      "parents": [
        "bab73cb68435232ba78a4bd1ac1a85862e3be0bb"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 17:19:27 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:37 2012 +0200"
      },
      "message": "Bluetooth: Fix mgmt_unpair_device command status\n\nThe default response status to unpair_device should be set as 0 instead\nof a generic failure value. When disconnection is not needed (i.e. we\ncan reply imediately) we should return success and not failure.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bab73cb68435232ba78a4bd1ac1a85862e3be0bb",
      "tree": "befa66506373f8e5d3a3cec6f48eea5d5bee892e",
      "parents": [
        "88c1fe4ba55c7245ad2f3c81689f854287875121"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 16:07:29 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:37 2012 +0200"
      },
      "message": "Bluetooth: Add address type to mgmt_ev_auth_failed\n\nThis patch updates the Authentication Failed mgmt event to match the\nlatest API specification by adding an address type to it.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "88c1fe4ba55c7245ad2f3c81689f854287875121",
      "tree": "69447c418d6f4560df19bc1a69a98a49cda0d4c9",
      "parents": [
        "664ce4cc293cd6c76236617f78689d0e03e69287"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 15:56:11 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:36 2012 +0200"
      },
      "message": "Bluetooth: Add address type to mgmt blacklist messages\n\nThis patch updates the implmentation for mgmt_block_device and\nmgmt_unblock_device and their corresponding events to match the latest\nAPI specification.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "664ce4cc293cd6c76236617f78689d0e03e69287",
      "tree": "870448a60770298e686cecddff6eafbfcd9f2792",
      "parents": [
        "272d90df2d4d065e782cafb08358bd8918bf703a"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 15:44:09 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:36 2012 +0200"
      },
      "message": "Bluetooth: Add address type to Out Of Band mgmt messages\n\nThis patch updates the implementation for these mgmt to be up to date\nwith the latest API specification. Right now the address type isn\u0027t\nactually used for anything but that might change in the future.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "272d90df2d4d065e782cafb08358bd8918bf703a",
      "tree": "a39907ac765574b8b0bf087a7aa0f37cc580d5a7",
      "parents": [
        "88c3df13ca06718e5a8f509ae9cbb1228c10d537"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 15:26:12 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:36 2012 +0200"
      },
      "message": "Bluetooth: Add address type to user_confirm and user_passkey messages\n\nThis patch upadate the user confirm and user passkey mgmt messages to\nmatch the latest API specification by adding an address type parameter\nto them.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "88c3df13ca06718e5a8f509ae9cbb1228c10d537",
      "tree": "89bd9706f5c1924174b9284239510a3f0de2ebc2",
      "parents": [
        "124f6e35286c9d8dc96f147a9026081256136615"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 14:27:38 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:36 2012 +0200"
      },
      "message": "Bluetooth: Update mgmt_disconnect to match latest API\n\nThis patch adds an address type parameter to the disconnect command and\nresponse in order to match the latest mgmt API specification.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "124f6e35286c9d8dc96f147a9026081256136615",
      "tree": "6178d641e93808c34e3fecda4eb76dc4b6748e06",
      "parents": [
        "930fa4aee934ad59ed82163cdbee4922b883ef79"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 09 13:50:12 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:36 2012 +0200"
      },
      "message": "Bluetooth: Update and rename mgmt_remove_keys to mgmt_unpair_device\n\nThis patch renames the mgmt_remove_keys command to mgmt_unpair_device\nand updates its parameters to match the latest API (specifically, it\nadds an address type parameter to the command and its response).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "930fa4aee934ad59ed82163cdbee4922b883ef79",
      "tree": "f83ecf592f5462ba4c5d644971111083ef56c206",
      "parents": [
        "8ed7a0ae7834cbefb82ed15a92e36983924efa23"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Tue Feb 07 15:43:02 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:35 2012 +0200"
      },
      "message": "Bluetooth: Fix double acking I-Frames when sending pending I-Frames\n\nPending I-Frame(s) are considered as acknowledgement. To void double\nacking (via I-Frame and later via RR) clear ack timer when sending\nfirst pending I-Frame.\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.von.dentz@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "8ed7a0ae7834cbefb82ed15a92e36983924efa23",
      "tree": "96cbe9f236a41556dde36c6d92e2355b4047f7b6",
      "parents": [
        "6d5922b01b5e8d684dae5baaea596a4a749738e3"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Tue Feb 07 15:43:01 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:35 2012 +0200"
      },
      "message": "Bluetooth: Fix possible missing I-Frame acknowledgement\n\nMake l2cap_ertm_send return number of pending I-Frames transmitted\ninstead of all (pending + retransmitted) I-Frames transmitted.\n\nAs only pending I-Frames are considered as acknowledgement, this could\nlead to situation when no ACK was sent in __l2cap_send_ack (if only\nalready transmitted I-Frames were retransmitted).\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.von.dentz@intel.com\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "6d5922b01b5e8d684dae5baaea596a4a749738e3",
      "tree": "016c93f7ba63a41fc706b843b04ad23435bd96d4",
      "parents": [
        "5491120e75afe2a7f5b6f3a207de6d99934e5475"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Feb 06 15:04:01 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:35 2012 +0200"
      },
      "message": "Bluetooth: Remove unneeded sk variable\n\nIn debug use chan %p instead of sk.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "5491120e75afe2a7f5b6f3a207de6d99934e5475",
      "tree": "12de6296d25e7bda4a82188c73fb7368d21ddede",
      "parents": [
        "cf4cd00915c659dc7b496c454bee36bb6b833fd1"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Feb 06 15:04:00 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:35 2012 +0200"
      },
      "message": "Bluetooth: Clean up l2cap_chan_add\n\nChange elseif to switch. This make sense even more with following\npatches which otherwise have to add more elseifs statements.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "cf4cd00915c659dc7b496c454bee36bb6b833fd1",
      "tree": "71dab8e537f308fa63451304422912c7cd7032f5",
      "parents": [
        "343fb14549a736b348b08e702057487a7ec44d5d"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Feb 06 15:03:59 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:35 2012 +0200"
      },
      "message": "Bluetooth: Change chan_ready param from sk to chan\n\nChange is needed to remove dependency on sk when possible\nbefore introducing l2cap channel lock.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "343fb14549a736b348b08e702057487a7ec44d5d",
      "tree": "0ccfa084bd7efd8e09d57676423ce62a5234d788",
      "parents": [
        "053c7e0c4a40e2bb44e3c1e61e263be00688a136"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Tue Nov 22 17:14:19 2011 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:35 2012 +0200"
      },
      "message": "Bluetooth: Add BT_DBG to mgmt_discovering()\n\nThis is helpful for device discovery implementation \u0026 debuging.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "053c7e0c4a40e2bb44e3c1e61e263be00688a136",
      "tree": "11017e93d2bd532e745e53b240769a9b0f235b59",
      "parents": [
        "e87775250f322b8f1612cf9918fcde827948f087"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sat Feb 04 00:06:00 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:35 2012 +0200"
      },
      "message": "Bluetooth: Fix device_found event length for remote name resolving\n\nThe correct length of the event is the size of the ev struct (not size\nof the pointer like the code was previously using) plus the length of\nthe variable-sized EIR data at the end of the struct.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e87775250f322b8f1612cf9918fcde827948f087",
      "tree": "a7d11ff53b35ff404a9719d7e8c6bc3c1d9c88aa",
      "parents": [
        "3fd2415363629b779549705f341e0645e32c1ad5"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 03 17:48:02 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:34 2012 +0200"
      },
      "message": "Bluetooth: Fix indentation\n\nThis patch fixes a #define indentation in mgmt.c.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "3fd2415363629b779549705f341e0645e32c1ad5",
      "tree": "4203df133dbbe7c65b7d4c1b0f63780c19afc276",
      "parents": [
        "28b75a89480df99a17c8facd5c33985847d06bb6"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 03 17:48:01 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:34 2012 +0200"
      },
      "message": "Bluetooth: MGMT start discovery LE-Only support\n\nThis patch adds LE-Only discovery procedure support to MGMT Start\nDiscovery command.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "28b75a89480df99a17c8facd5c33985847d06bb6",
      "tree": "ddb050dd79624ed01e12d1d072f8be646a15815f",
      "parents": [
        "7ba8b4be38e7c83b2b13333a82a0ecde921a7390"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 03 17:48:00 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:34 2012 +0200"
      },
      "message": "Bluetooth: Add hci_le_scan()\n\nWe are not supposed to block in start_discovery() because\nstart_discovery code is running in write() syscall context\nand this would block the write operation on the mgmt socket.\nThis way, we cannot directly call hci_do_le_scan() to scan\nLE devices in start_discovery(). To overcome this issue a\nderefered work (hdev-\u003ele_scan) was created so we can properly\ncall hci_do_le_scan().\n\nThe helper function hci_le_scan() simply set LE scan parameters\nand queue hdev-\u003ele_scan work. The work is queued on system_long_wq\nsince it can sleep for a few seconds in the worst case (timeout).\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "7ba8b4be38e7c83b2b13333a82a0ecde921a7390",
      "tree": "1ad9bb8b0eafed266538a2e238649149439ccc29",
      "parents": [
        "6fbe195dc41c4fae1fa7aca1a38c888de1d24e2d"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 03 17:47:59 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:34 2012 +0200"
      },
      "message": "Bluetooth: Add hci_do_le_scan()\n\nThis patch adds to hci_core the hci_do_le_scan function which\nshould be used to scan LE devices.\n\nIn order to enable LE scan, hci_do_le_scan() sends commands (Set\nLE Scan Parameters and Set LE Scan Enable) to the controller and\nwaits for its results. If commands were executed successfully a\ndelayed work is scheduled to disable the ongoing scanning after\nsome amount of time. This function blocks.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "6fbe195dc41c4fae1fa7aca1a38c888de1d24e2d",
      "tree": "b5435e95b512dae5861da07bd1daeddcdd1f7d97",
      "parents": [
        "c599008f8f999dab8cb4a6404be99bdc4716ba15"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 03 17:47:58 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:34 2012 +0200"
      },
      "message": "Bluetooth: Minor code refactoring\n\nThis patch does a trivial code refacting in hci_discovery_active.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "c599008f8f999dab8cb4a6404be99bdc4716ba15",
      "tree": "c67e858a2ef7e8ebebeeaec95e6d3f9ec9afe0a6",
      "parents": [
        "8af59467412b4b61850d3ccb3737c09ecc6dc100"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Feb 03 17:47:57 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:34 2012 +0200"
      },
      "message": "Bluetooth: LE scan should send Discovering events\n\nSend MGMT Discovering events once LE scan starts/stops so the\nuserspace can track when local adapters are discovering LE devices.\n\nThis way, we also keep the same behavior of inquiry which sends MGMT\nDiscovering events once inquiry starts/stops even if it is triggered\nby an external tool (e.g. hcitool).\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "8af59467412b4b61850d3ccb3737c09ecc6dc100",
      "tree": "602bcf2ebbc6f1b6152cc92f2fcdf87b0fb6325f",
      "parents": [
        "63d2bc1b9a4d77f90b9719c3ff2570a274a7a22f"
      ],
      "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": "Mon Feb 13 17:01:34 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": "63d2bc1b9a4d77f90b9719c3ff2570a274a7a22f",
      "tree": "f5dc74ff50c858b3177ed5613dd545fe4a9761f4",
      "parents": [
        "b71d385a18cd4516c62d0198c9ec37e658112f75"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Feb 03 16:27:55 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:33 2012 +0200"
      },
      "message": "Bluetooth: Helper removes duplicated code\n\nUse __check_timout helper to remove duplicated code\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nReviewed-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": "b71d385a18cd4516c62d0198c9ec37e658112f75",
      "tree": "e949e47dcf5bed04b0846433e095f857ac5758fd",
      "parents": [
        "261cc5aa9e54aac633dcc3b6469739cb6e23e21a"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Feb 03 16:27:54 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:33 2012 +0200"
      },
      "message": "Bluetooth: Recalculate sched HCI blk/pkt flow ctrl\n\nSplit HCI scheduling for block and packet flow control.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "261cc5aa9e54aac633dcc3b6469739cb6e23e21a",
      "tree": "52d39d6a4c9b83998e5fe64e6e448e6d429e775d",
      "parents": [
        "f9c5f9ddcfc404b5d4c079452755337d84c97707"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Feb 02 21:08:05 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:33 2012 +0200"
      },
      "message": "Bluetooth: Add support for notifying userspace of new LTK\u0027s\n\nIf we want to have proper pairing support over LE we need to\ninform userspace that a new LTK is available, so userspace\ncan store that key permanently.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "f9c5f9ddcfc404b5d4c079452755337d84c97707",
      "tree": "9e13a728ae4f4760dee0eefd195b8826179a69fa",
      "parents": [
        "b0dbfb46ba0c0d2fe4c90e2046f7b36275763a7e"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Feb 02 21:08:04 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:33 2012 +0200"
      },
      "message": "Bluetooth: Clean up structures left unused\n\nWith the use of the new structures and lists for the SMP LTK\u0027s\nwe may remove some code that is now unused. No need to have extra\nfields of information inside link_key now that it is only used\nfor Link Keys.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "b0dbfb46ba0c0d2fe4c90e2046f7b36275763a7e",
      "tree": "1251bab1d951ff7c42f9f2e3d8f0b4d35b808d83",
      "parents": [
        "346af67b8d116f01ef696fd47959a55deb2db8b6"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Feb 02 21:08:03 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:33 2012 +0200"
      },
      "message": "Bluetooth: Add support for removing LTK\u0027s when pairing is removed\n\nInstead of having a separated command for removing SMP keys, we use the\nRemove Keys command to remove *all* keys.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "346af67b8d116f01ef696fd47959a55deb2db8b6",
      "tree": "ca22e1b5d479f35550893c530bab69446362ae66",
      "parents": [
        "c9839a11c0e460a2457e7cac76650d07773e6c3b"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Feb 02 21:08:02 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:33 2012 +0200"
      },
      "message": "Bluetooth: Add MGMT handlers for dealing with SMP LTK\u0027s\n\nThis adds a method to notify that a new LTK is available and\na handler to store keys coming from userspace into the kernel LTK\nlist.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "c9839a11c0e460a2457e7cac76650d07773e6c3b",
      "tree": "053e815839a9dcc099bad50863acb63eed884857",
      "parents": [
        "b899efaf9b26cadb084752862490b4fc44bc3169"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Feb 02 21:08:01 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:33 2012 +0200"
      },
      "message": "Bluetooth: Use the updated key structures for handling LTKs\n\nThis updates all the users of the older way, that was using the\nlink_keys list to store the SMP keys, to use the new way.\n\nThis includes defining new types for the keys, we have a type for each\ncombination of STK/LTK and Master/Slave.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "b899efaf9b26cadb084752862490b4fc44bc3169",
      "tree": "f0fc1dae801b98ae8b525798a48c292cfaf15329",
      "parents": [
        "650f726d16a3f25153d785b531516f6e90d2014f"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Feb 02 21:08:00 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:32 2012 +0200"
      },
      "message": "Bluetooth: Add new structures for handling SMP Long Term Keys\n\nThis includes a new list for storing the keys and a new structure used\nto represent each key.\n\nSome notes: authenticated is used to identify that the key may be used\nto setup a HIGH security link. As the same list is used to store both\nthe STK\u0027s and the LTK\u0027s the type field is used so we can separate\nbetween those two types of keys and if the key should be used when\nin the master or slave role.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "650f726d16a3f25153d785b531516f6e90d2014f",
      "tree": "606cc339e2b3f8f2633ed1503b73dc53212f780c",
      "parents": [
        "37305cf649689a4d2341dd6fd89b091c6007f9ba"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Feb 02 21:07:59 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:32 2012 +0200"
      },
      "message": "Bluetooth: Fix doing some useless casts when receiving MGMT commands\n\nEvery command handler of mgmt does a cast to the command structure\nso it can properly interpreted. So we can avoid that cast if we\nmake those functions receive a void * directly.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "37305cf649689a4d2341dd6fd89b091c6007f9ba",
      "tree": "0932549bd548cb717773c1fce964f0499b51ecd6",
      "parents": [
        "2a5a5ec620a29d4ba07743c3151cdf0a417c8f8c"
      ],
      "author": {
        "name": "Manoj Iyer",
        "email": "manoj.iyer@canonical.com",
        "time": "Thu Feb 02 09:32:36 2012 -0600"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:32 2012 +0200"
      },
      "message": "Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0\n\nT: Bus\u003d01 Lev\u003d02 Prnt\u003d02 Port\u003d03 Cnt\u003d03 Dev#\u003d 5 Spd\u003d12 MxCh\u003d 0\nD: Ver\u003d 2.00 Cls\u003dff(vend.) Sub\u003d01 Prot\u003d01 MxPS\u003d64 #Cfgs\u003d 1\nP: Vendor\u003d0a5c ProdID\u003d21f3 Rev\u003d01.12\nS: Manufacturer\u003dBroadcom Corp\nS: Product\u003dBCM20702A0\nS: SerialNumber\u003d74DE2B344A7B\nC: #Ifs\u003d 4 Cfg#\u003d 1 Atr\u003de0 MxPwr\u003d0mA\nI: If#\u003d 0 Alt\u003d 0 #EPs\u003d 3 Cls\u003dff(vend.) Sub\u003d01 Prot\u003d01 Driver\u003d(none)\nI: If#\u003d 1 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003d01 Prot\u003d01 Driver\u003d(none)\nI: If#\u003d 2 Alt\u003d 0 #EPs\u003d 2 Cls\u003dff(vend.) Sub\u003dff Prot\u003dff Driver\u003d(none)\nI: If#\u003d 3 Alt\u003d 0 #EPs\u003d 0 Cls\u003dfe(app. ) Sub\u003d01 Prot\u003d01 Driver\u003d(none)\n\nSigned-off-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nTested-by: Dennis Chua \u003cdennis.chua@canonical.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "2a5a5ec620a29d4ba07743c3151cdf0a417c8f8c",
      "tree": "a135890c9ad5aedd305f0ad905fb81ddaeddfddf",
      "parents": [
        "3c4e0df028935618d052235ba85bc7079be13394"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu Feb 02 10:32:18 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:32 2012 +0200"
      },
      "message": "Bluetooth: Use list _safe deleting from conn chan_list\n\nFixes possible bug when deleting element from the list in\nfunction hci_chan_list_flush. list_for_each_entry_rcu is used\nand after deleting element from the list we also free pointer\nand then list_entry_rcu is taken from freed pointer.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "3c4e0df028935618d052235ba85bc7079be13394",
      "tree": "a50e03fa57a86c0e3aa6c46bda9931ec6b208884",
      "parents": [
        "28424707a2e4ad38ab546d2ed5e3d6b035a84258"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu Feb 02 10:32:17 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:32 2012 +0200"
      },
      "message": "Bluetooth: Use list _safe deleting from conn_hash_list\n\nUse list_for_each_entry_safe which is safe version against removal\nof list entry. Otherwise we remove hci_conn element and reference\nnext element which result in accessing LIST_POISON.\n\n[   95.571834] Bluetooth: unknown link type 127\n[   95.578349] BUG: unable to handle kernel paging request at 20002000\n[   95.580236] IP: [\u003c20002000\u003e] 0x20001fff\n[   95.580763] *pde \u003d 00000000\n[   95.581196] Oops: 0000 [#1] SMP\n...\n[   95.582298] Pid: 3355, comm: hciconfig Tainted: G   O 3.2.0-VirttualBox\n[   95.582298] EIP: 0060:[\u003c20002000\u003e] EFLAGS: 00210206 CPU: 0\n[   95.582298] EIP is at 0x20002000\n...\n[   95.582298] Call Trace:\n[   95.582298]  [\u003cf8231ab6\u003e] ? hci_conn_hash_flush+0x76/0xf0 [bluetooth]\n[   95.582298]  [\u003cf822bcb1\u003e] hci_dev_do_close+0xc1/0x2e0 [bluetooth]\n[   95.582298]  [\u003cf822d679\u003e] ? hci_dev_get+0x69/0xb0 [bluetooth]\n[   95.582298]  [\u003cf822e1da\u003e] hci_dev_close+0x2a/0x50 [bluetooth]\n[   95.582298]  [\u003cf824102f\u003e] hci_sock_ioctl+0x1af/0x3f0 [bluetooth]\n[   95.582298]  [\u003cc11153ea\u003e] ? handle_pte_fault+0x8a/0x8f0\n[   95.582298]  [\u003cc146becf\u003e] sock_ioctl+0x5f/0x260\n[   95.582298]  [\u003cc146be70\u003e] ? sock_fasync+0x90/0x90\n[   95.582298]  [\u003cc1152b33\u003e] do_vfs_ioctl+0x83/0x5b0\n[   95.582298]  [\u003cc1563f87\u003e] ? do_page_fault+0x297/0x500\n[   95.582298]  [\u003cc1563cf0\u003e] ? spurious_fault+0xd0/0xd0\n[   95.582298]  [\u003cc107165b\u003e] ? up_read+0x1b/0x30\n[   95.582298]  [\u003cc1563f87\u003e] ? do_page_fault+0x297/0x500\n[   95.582298]  [\u003cc100aa9f\u003e] ? init_fpu+0xef/0x160\n[   95.582298]  [\u003cc15617c0\u003e] ? do_debug+0x180/0x180\n[   95.582298]  [\u003cc100a958\u003e] ? fpu_finit+0x28/0x80\n[   95.582298]  [\u003cc11530e7\u003e] sys_ioctl+0x87/0x90\n[   95.582298]  [\u003cc156795f\u003e] sysenter_do_call+0x12/0x38\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "28424707a2e4ad38ab546d2ed5e3d6b035a84258",
      "tree": "60fd8524c956047add2055b350dc600f3d24ff36",
      "parents": [
        "95947a391ebe685b9870cd25cac1433aedf5d49c"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Thu Feb 02 04:02:29 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:32 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Implement Cancel Pair Device command\n\nThis patch implements the Cancel Pair Device command for mgmt. It\u0027s used\nby user space to cancel an ongoing pairing attempt which was triggered\nby the Pair Device command.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "95947a391ebe685b9870cd25cac1433aedf5d49c",
      "tree": "8b4b7278359613d76ff9a8d20a0c6800f08c08bd",
      "parents": [
        "7a7f1e7c857959f5298020969741e389f21edbae"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemant.gupta@stericsson.com",
        "time": "Mon Jan 23 15:36:11 2012 +0530"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:32 2012 +0200"
      },
      "message": "Bluetooth: Fix clearing of debug and linkkey flags\n\nThis patch fixes clearing of HCI_LINK_KEYS and HCI_DEBUG_KEYS\ndev_flags while resetting. Without this patch pairing does\nnot work over management interface for BR-EDR devices.\n\nSigned-off-by: Hemant Gupta \u003chemant.gupta@stericsson.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "7a7f1e7c857959f5298020969741e389f21edbae",
      "tree": "2735825da06d14d483680423d07d000e6bee21d4",
      "parents": [
        "b7d05bad1c10a363b6b99f66ac1fa76b6892e618"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemant.gupta@stericsson.com",
        "time": "Mon Jan 16 13:34:29 2012 +0530"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:31 2012 +0200"
      },
      "message": "Bluetooth: Send correct response to IO Capability Request\n\nThis patch sends correct IO Capability response to remote device\nin case Local Device supports KeyBoardDisplay IO Capability as\nthis capability is not valid as per BT spec for IO capability\nRequest Reply Command.\nThis capability is mapped to DisplayYesNo which is in accordance\nwith BT spec.\n\nSigned-off-by: Hemant Gupta \u003chemant.gupta@stericsson.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "b7d05bad1c10a363b6b99f66ac1fa76b6892e618",
      "tree": "f91706b1946c634cab519f9868e529cec289be8d",
      "parents": [
        "9ef866adf9602238c2e83e951a72a1037d4179de"
      ],
      "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": "Mon Feb 13 17:01:31 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": "9ef866adf9602238c2e83e951a72a1037d4179de",
      "tree": "14edd75f2315402f7f99b05de3e76b3d9bd3e8d5",
      "parents": [
        "f1c09c07cd1a6c1676c4df6450d2b28875e184c1"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Feb 01 23:42:38 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:31 2012 +0200"
      },
      "message": "Bluetooth: Update mgmt.h to match latest API spec\n\nThis patch updates the opcodes for mgmt commands and events to match the\nlatest user space API specification.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f1c09c07cd1a6c1676c4df6450d2b28875e184c1",
      "tree": "5056e05979ddddaa25279379bb7b7d2d91978c0a",
      "parents": [
        "66f01296962dfebf032c18ffe61c53a199b4a7bd"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Wed Feb 01 18:27:56 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:31 2012 +0200"
      },
      "message": "Bluetooth: Fix invalid memory access when there\u0027s no SMP channel\n\nWe only should try to free the SMP channel that was created if there\nis a pending SMP session.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "66f01296962dfebf032c18ffe61c53a199b4a7bd",
      "tree": "f352f1e197cb0c8c7a9b959c0e1061df08433f38",
      "parents": [
        "4777bfdebbddc1f58d9148de5a3e00375d063768"
      ],
      "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": "Mon Feb 13 17:01:31 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": "4777bfdebbddc1f58d9148de5a3e00375d063768",
      "tree": "978361cf0f218ee1a8c72a2d73ef43e30b17a0d6",
      "parents": [
        "f7aa611a0ecf1d22f21e26279e1a3baf1db6b973"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "aguedespe@gmail.com",
        "time": "Mon Jan 30 23:31:28 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:31 2012 +0200"
      },
      "message": "Bluetooth: Use GFP_KERNEL in hci_add_adv_entry()\n\nThis function is not called in interrupt context anymore, so it\nshould use GFP_KERNEL to allocate memory.\n\nSigned-off-by: Andre Guedes \u003caguedespe@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "f7aa611a0ecf1d22f21e26279e1a3baf1db6b973",
      "tree": "66c362fa28f35bbcb01b186cdccd8332346884ab",
      "parents": [
        "27f27ed8f0f7330337297a6dbdb49472dfeef59b"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Mon Jan 30 19:29:12 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:30 2012 +0200"
      },
      "message": "Bluetooth: Rename smp_key_size to enc_key_size\n\nThis makes clear that this is the size of the key used to\nencrypt the link.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "27f27ed8f0f7330337297a6dbdb49472dfeef59b",
      "tree": "5462b7b8f654cbf841051ccfcac13f0d274facd6",
      "parents": [
        "127074bfa3c11c12e0160437e31b08c6b27412a4"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Mon Jan 30 19:29:11 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:30 2012 +0200"
      },
      "message": "Bluetooth: Add structures for the new LTK exchange messages\n\nThis defines two new messages, one event that will inform\nuserspace that a new Long Term Key was exchanged and one that\nwill allow userspace to load LTKs into the kernel.\n\nBesides the information necessary for the restablishement of\nthe secure link, we added some extra information: \"authenticated\"\nthat informs if the key can be used to establish an authenticated\nlink, and \"master\" that informs the role in that the key should\nbe used.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "127074bfa3c11c12e0160437e31b08c6b27412a4",
      "tree": "a70a9ecb8673139263c6f4a631660d15753d9891",
      "parents": [
        "17cd3f374be6648bd46c86ff8f2a2511d3f416ee"
      ],
      "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": "Mon Feb 13 17:01:30 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": "17cd3f374be6648bd46c86ff8f2a2511d3f416ee",
      "tree": "18c382a43b943a164d0f6f60c4da9cc143c4fa03",
      "parents": [
        "e72acc13c770a82b4ce4a07e9716f29320eae0f8"
      ],
      "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": "Mon Feb 13 17:01:30 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": "e72acc13c770a82b4ce4a07e9716f29320eae0f8",
      "tree": "22db95d0af76335b8623a19b58600c6aeea2d244",
      "parents": [
        "2f304d1e8bf89f2258a6c2e08c0bc2c5debd08f7"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Jan 27 19:42:03 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:30 2012 +0200"
      },
      "message": "Bluetooth: Remove unneeded locking\n\nWe don\u0027t need locking hdev in hci_conn_timeout() since it doesn\u0027t\naccess any hdev\u0027s shared resources, it basically queues HCI commands.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nReviewed-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": "2f304d1e8bf89f2258a6c2e08c0bc2c5debd08f7",
      "tree": "d9c87baf4a758ed93b259bfb9e3acbb81045bc9e",
      "parents": [
        "75d7735c7a3ddc3842473219460285748d10db11"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Fri Jan 27 19:42:02 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:30 2012 +0200"
      },
      "message": "Bluetooth: Fix potential deadlock\n\nWe don\u0027t need to use the _sync variant in hci_conn_hold and\nhci_conn_put to cancel conn-\u003edisc_work delayed work. This way\nwe avoid potential deadlocks like this one reported by lockdep.\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 ]\n3.2.0+ #1 Not tainted\n-------------------------------------------------------\nkworker/u:1/17 is trying to acquire lock:\n (\u0026hdev-\u003elock){+.+.+.}, at: [\u003cffffffffa0041155\u003e] hci_conn_timeout+0x62/0x158 [bluetooth]\n\nbut task is already holding lock:\n ((\u0026(\u0026conn-\u003edisc_work)-\u003ework)){+.+...}, at: [\u003cffffffff81035751\u003e] process_one_work+0x11a/0x2bf\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #2 ((\u0026(\u0026conn-\u003edisc_work)-\u003ework)){+.+...}:\n       [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n       [\u003cffffffff81034ed1\u003e] wait_on_work+0x3d/0xaa\n       [\u003cffffffff81035b54\u003e] __cancel_work_timer+0xac/0xef\n       [\u003cffffffff81035ba4\u003e] cancel_delayed_work_sync+0xd/0xf\n       [\u003cffffffffa00554b0\u003e] smp_chan_create+0xde/0xe6 [bluetooth]\n       [\u003cffffffffa0056160\u003e] smp_conn_security+0xa3/0x12d [bluetooth]\n       [\u003cffffffffa0053640\u003e] l2cap_connect_cfm+0x237/0x2e8 [bluetooth]\n       [\u003cffffffffa004239c\u003e] hci_proto_connect_cfm+0x2d/0x6f [bluetooth]\n       [\u003cffffffffa0046ea5\u003e] hci_event_packet+0x29d1/0x2d60 [bluetooth]\n       [\u003cffffffffa003dde3\u003e] hci_rx_work+0xd0/0x2e1 [bluetooth]\n       [\u003cffffffff810357af\u003e] process_one_work+0x178/0x2bf\n       [\u003cffffffff81036178\u003e] worker_thread+0xce/0x152\n       [\u003cffffffff81039a03\u003e] kthread+0x95/0x9d\n       [\u003cffffffff812e7754\u003e] kernel_thread_helper+0x4/0x10\n\n-\u003e #1 (slock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}:\n       [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n       [\u003cffffffff812e553a\u003e] _raw_spin_lock_bh+0x36/0x6a\n       [\u003cffffffff81244d56\u003e] lock_sock_nested+0x24/0x7f\n       [\u003cffffffffa004d96f\u003e] lock_sock+0xb/0xd [bluetooth]\n       [\u003cffffffffa0052906\u003e] l2cap_chan_connect+0xa9/0x26f [bluetooth]\n       [\u003cffffffffa00545f8\u003e] l2cap_sock_connect+0xb3/0xff [bluetooth]\n       [\u003cffffffff81243b48\u003e] sys_connect+0x69/0x8a\n       [\u003cffffffff812e6579\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #0 (\u0026hdev-\u003elock){+.+.+.}:\n       [\u003cffffffff81056d06\u003e] __lock_acquire+0xa80/0xd74\n       [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n       [\u003cffffffff812e3870\u003e] __mutex_lock_common+0x48/0x38e\n       [\u003cffffffff812e3c75\u003e] mutex_lock_nested+0x2a/0x31\n       [\u003cffffffffa0041155\u003e] hci_conn_timeout+0x62/0x158 [bluetooth]\n       [\u003cffffffff810357af\u003e] process_one_work+0x178/0x2bf\n       [\u003cffffffff81036178\u003e] worker_thread+0xce/0x152\n       [\u003cffffffff81039a03\u003e] kthread+0x95/0x9d\n       [\u003cffffffff812e7754\u003e] kernel_thread_helper+0x4/0x10\n\nother info that might help us debug this:\n\nChain exists of:\n  \u0026hdev-\u003elock --\u003e slock-AF_BLUETOOTH-BTPROTO_L2CAP --\u003e (\u0026(\u0026conn-\u003edisc_work)-\u003ework)\n\n Possible unsafe locking scenario:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock((\u0026(\u0026conn-\u003edisc_work)-\u003ework));\n                               lock(slock-AF_BLUETOOTH-BTPROTO_L2CAP);\n                               lock((\u0026(\u0026conn-\u003edisc_work)-\u003ework));\n  lock(\u0026hdev-\u003elock);\n\n *** DEADLOCK ***\n\n2 locks held by kworker/u:1/17:\n #0:  (hdev-\u003ename){.+.+.+}, at: [\u003cffffffff81035751\u003e] process_one_work+0x11a/0x2bf\n #1:  ((\u0026(\u0026conn-\u003edisc_work)-\u003ework)){+.+...}, at: [\u003cffffffff81035751\u003e] process_one_work+0x11a/0x2bf\n\nstack backtrace:\nPid: 17, comm: kworker/u:1 Not tainted 3.2.0+ #1\nCall Trace:\n [\u003cffffffff812e06c6\u003e] print_circular_bug+0x1f8/0x209\n [\u003cffffffff81056d06\u003e] __lock_acquire+0xa80/0xd74\n [\u003cffffffff81021ef2\u003e] ? arch_local_irq_restore+0x6/0xd\n [\u003cffffffff81022bc7\u003e] ? vprintk+0x3f9/0x41e\n [\u003cffffffff81057444\u003e] lock_acquire+0x8a/0xa7\n [\u003cffffffffa0041155\u003e] ? hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff812e3870\u003e] __mutex_lock_common+0x48/0x38e\n [\u003cffffffffa0041155\u003e] ? hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff81190fd6\u003e] ? __dynamic_pr_debug+0x6d/0x6f\n [\u003cffffffffa0041155\u003e] ? hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff8105320f\u003e] ? trace_hardirqs_off+0xd/0xf\n [\u003cffffffff812e3c75\u003e] mutex_lock_nested+0x2a/0x31\n [\u003cffffffffa0041155\u003e] hci_conn_timeout+0x62/0x158 [bluetooth]\n [\u003cffffffff810357af\u003e] process_one_work+0x178/0x2bf\n [\u003cffffffff81035751\u003e] ? process_one_work+0x11a/0x2bf\n [\u003cffffffff81055af3\u003e] ? lock_acquired+0x1d0/0x1df\n [\u003cffffffffa00410f3\u003e] ? hci_acl_disconn+0x65/0x65 [bluetooth]\n [\u003cffffffff81036178\u003e] worker_thread+0xce/0x152\n [\u003cffffffff810407ed\u003e] ? finish_task_switch+0x45/0xc5\n [\u003cffffffff810360aa\u003e] ? manage_workers.isra.25+0x16a/0x16a\n [\u003cffffffff81039a03\u003e] kthread+0x95/0x9d\n [\u003cffffffff812e7754\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff812e5db4\u003e] ? retint_restore_args+0x13/0x13\n [\u003cffffffff8103996e\u003e] ? __init_kthread_worker+0x55/0x55\n [\u003cffffffff812e7750\u003e] ? gs_change+0x13/0x13\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nReviewed-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": "75d7735c7a3ddc3842473219460285748d10db11",
      "tree": "fad858e61a75f917f767554f8f14e0e3a57960df",
      "parents": [
        "cb601d7e65f497a2a172d65b2ef1d738ac6fe4f4"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Mon Jan 30 09:22:10 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:30 2012 +0200"
      },
      "message": "Bluetooth: Use GFP_KERNEL in hci_chan_create()\n\nThis function is called in process context only, so it should use\nGFP_KERNEL to allocate memory.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "cb601d7e65f497a2a172d65b2ef1d738ac6fe4f4",
      "tree": "b1a1a7543dfbf295dc65feed9bb87bb713b7162f",
      "parents": [
        "cad8f1d072375a550ca81419799ba381118c14bb"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Mon Jan 30 09:22:09 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:30 2012 +0200"
      },
      "message": "Bluetooth: Use GFP_KERNEL in hci_conn_add()\n\nThis function is called in process context only, so it should use\nGFP_KERNEL to allocate memory.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "cad8f1d072375a550ca81419799ba381118c14bb",
      "tree": "1cb3413ca9ac02974c10be48ef1a9cb6b25ddc0e",
      "parents": [
        "2f7719ce54bf6e877987f6ef578b580a51d8c2e3"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Mon Jan 23 10:06:05 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:29 2012 +0200"
      },
      "message": "Bluetooth: Make l2cap_ertm_data_rcv static\n\nIt is not used outside of l2cap_core.c. Also l2cap_ertm_data_rcv is\nonly used after it is defined so there is no need for forward declaration.\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "2f7719ce54bf6e877987f6ef578b580a51d8c2e3",
      "tree": "fa996b4c081a66de50f6b11a82dac545626622ed",
      "parents": [
        "d22015aad40b4316f0f74c8e410debca44c3e6e2"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri Jan 20 14:08:03 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:29 2012 +0200"
      },
      "message": "Bluetooth: Add alloc_skb chan operator\n\nAdd channel-specific skb allocation method\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "d22015aad40b4316f0f74c8e410debca44c3e6e2",
      "tree": "bf307bc24f08419c9e711594f4984f96057a161b",
      "parents": [
        "61e1b4b7de5c7e3b671e069f8bf7ee94dedbfde0"
      ],
      "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": "Mon Feb 13 17:01:29 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": "61e1b4b7de5c7e3b671e069f8bf7ee94dedbfde0",
      "tree": "d830815a7864910f91c4084bda03db833f053a6d",
      "parents": [
        "aa64a8b500e61c33c17f1d5e7de0cc154489c59e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu Jan 19 11:19:50 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:29 2012 +0200"
      },
      "message": "Bluetooth: trivial: space correction\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    }
  ],
  "next": "aa64a8b500e61c33c17f1d5e7de0cc154489c59e"
}
