)]}'
{
  "log": [
    {
      "commit": "6d80dfd094a7b286e95cdcac79efeb7bbb4e226f",
      "tree": "d2ce3d84653d5205bfcceb1ac73297a0381117f8",
      "parents": [
        "f963e8e9d3652f4a8065d969206707a1c21ff9b0"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 23:50:38 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Feb 21 00:32:16 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add basic support for Set High Speed command\n\nThis patch adds rudimentary support for the Set High Speed command in\nthe form of a new HCI dev flag (HCI_HS_ENABLED).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f963e8e9d3652f4a8065d969206707a1c21ff9b0",
      "tree": "712829fed5127bdf2a9b822a48bff52360cd27ac",
      "parents": [
        "d930650b59be72342bc373ef52006ca99c1dd09e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 23:30:44 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Feb 21 00:32:16 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add address type parameter to Discovering event\n\nThis patch adds an address type parameter to the Discovering event. The\nvalue matches that given to Start/Stop Discovery.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d930650b59be72342bc373ef52006ca99c1dd09e",
      "tree": "de08d56c0b77b280f4b9763c805665640ad5588e",
      "parents": [
        "4b95a24ce12c4545fd7d2e3075841dc3119d1d71"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 23:25:18 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Feb 21 00:32:16 2012 +0200"
      },
      "message": "Bluetooth: mgmt: Add address type parameter to Stop Discovery command\n\nThis patch adds an address type parameter to the Stop Discovery command\nwhich should match the value given to Start Discovery.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d7b7e79688c07b445bc52adfedf9a176be156f4b",
      "tree": "0bdc072b86cfcf7a35b29e52336001ce2817de31",
      "parents": [
        "801f13bd8ecc58f2cf42ec602a2b5db10fc5a132"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 20 21:47:49 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 23:08:17 2012 +0200"
      },
      "message": "Bluetooth: Set supported settings based on enabled HS and/or LE\n\nSince neither High Speed (HS) nor Low Energy (LE) are fully implemented\nyet, only expose them in supported settings when enabled.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "cd82e61c110a36e398323e422896fcfe05879fed",
      "tree": "42cbe44d8915e82febf10420100c45219d610b83",
      "parents": [
        "040030ef7d907107e6489b39da518bdf94136d68"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 20 20:34:38 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 23:03:24 2012 +0200"
      },
      "message": "Bluetooth: Add support for HCI monitor channel\n\nThe HCI monitor channel can be used to monitor all packets and events\nfrom the Bluetooth subsystem. The monitor is not bound to any specific\nHCI device and allows even capturing multiple devices at the same time.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "040030ef7d907107e6489b39da518bdf94136d68",
      "tree": "79617d057852bc0293a63d9a176ca73972404824",
      "parents": [
        "e0edf3733fb62f91bbb8ec3fab4a90b0ac2dd037"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 20 14:50:37 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 15:59:22 2012 +0200"
      },
      "message": "Bluetooth: Remove HCI notifier handling\n\nThe HCI notifier handling was never used outside of Bluetooth core layer\nand thus remove it and replace it with direct function calls. Also move\nthe stack internal event generation into the HCI socket layer.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "a6fb08dfe8654e399c9bbca34be914e213560b5e",
      "tree": "15165238e6d8193a36ccac71b642836b8dfff76a",
      "parents": [
        "470fe1b540fb50ba8ce01e0ac985602e8fbb108c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 20 14:50:31 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 15:55:37 2012 +0200"
      },
      "message": "Bluetooth: Remove unneeded bt_cb(skb)-\u003echannel variable\n\nThe bt_cb(skb)-\u003echannel was only needed to make hci_send_to_sock() be\nused for HCI raw and control sockets. Since they have now separate sending\nfunctions this is no longer needed.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "470fe1b540fb50ba8ce01e0ac985602e8fbb108c",
      "tree": "c2c0b9b33c1a596c032e0eb330b0d6a66fd9c56c",
      "parents": [
        "48c7aba91f372251867d15efc9cf694ceee2de02"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 20 14:50:30 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 20 15:55:11 2012 +0200"
      },
      "message": "Bluetooth: Split sending for HCI raw and control sockets\n\nThe sending functions for HCI raw and control sockets have nothing in\ncommon except that they iterate over the socket list. Split them into\ntwo so they can do their job more efficient. In addition the code becomes\nmore readable.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "aa64a8b500e61c33c17f1d5e7de0cc154489c59e",
      "tree": "4cc269f37f27cd9796664fe4987168dfa9f74742",
      "parents": [
        "84bde9d6c0e6830f4a8685a5d237965053118bf9"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 18 21:33:12 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:29 2012 +0200"
      },
      "message": "Bluetooth: Add a convenience function to check for SSP enabled\n\nIt\u0027s a very common test to see if both the local and the remote device\nhave SSP enabled. By creating a simple function to test this we can\nshorten many if-statements in the code.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "84bde9d6c0e6830f4a8685a5d237965053118bf9",
      "tree": "bb6bce4d3477ebee0a4027e30103201fbbd74ea8",
      "parents": [
        "58a681ef1455aef9caad1d41073868fb399373f6"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 25 14:21:06 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:29 2012 +0200"
      },
      "message": "Bluetooth: Convert hdev-\u003essp_mode to a flag\n\nThe ssp_mode is essentially just a boolean so it\u0027s more appropriate to\nhave it simply as a flag in hdev-\u003edev_flags.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "58a681ef1455aef9caad1d41073868fb399373f6",
      "tree": "af78e12c2fff312aebaee55029bceefd6311e432",
      "parents": [
        "b644ba33699711630099efc58a4efc225560aceb"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Jan 16 06:47:28 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:28 2012 +0200"
      },
      "message": "Bluetooth: Merge boolean members of struct hci_conn into flags\n\nNow that the flags member of struct hci_conn is supposed to accommodate\nany boolean type values we can easily merge all boolean members into it.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b644ba33699711630099efc58a4efc225560aceb",
      "tree": "405fdec148d9d10186acf0e0d121b987eb208f19",
      "parents": [
        "a0c808b373e89aecc3ecae4cbdcdeff68aa12e3e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jan 17 21:48:47 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:28 2012 +0200"
      },
      "message": "Bluetooth: Update device_connected and device_found events to latest API\n\nThis patch updates mgmt_ev_device_connected and mgmt_ev_device found to\ninclude an EIR-encoded remote name and class whenever possible. With\nthis addition the mgmt_ev_remote_name event becomes unnecessary and can\nbe removed. Since the connected event doesn\u0027t map to hci_conn_complete\nanymore a HCI_CONN_MGMT_CONNECTED flag is added to track when mgmt has\nbeen notified about a connection.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a0c808b373e89aecc3ecae4cbdcdeff68aa12e3e",
      "tree": "b8c27b90772ab0501b0d6689e6a7782806af14c7",
      "parents": [
        "51a8efd7d02c13cb1c6fdd1cd66788792a3fcc7c"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Jan 16 09:49:58 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:28 2012 +0200"
      },
      "message": "Bluetooth: Convert hdev-\u003eout to a bool type\n\nThe hdev-\u003eout variable is essentially a boolean so the type \u0027bool\u0027 makes\nmore sense than u8.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "51a8efd7d02c13cb1c6fdd1cd66788792a3fcc7c",
      "tree": "819b6bfcb3b898be27d67a942d75aafbc10f24c5",
      "parents": [
        "1dc06093a9f353ef19b7b5180602884d0ce065c5"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Jan 16 06:10:31 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:28 2012 +0200"
      },
      "message": "Bluetooth: Rename conn-\u003epend to conn-\u003eflags\n\nThese flags can and will be used for more general purpose values than\njust pending state transitions so the more common name \"flags\" makes\nmore sense than \"pend\".\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1dc06093a9f353ef19b7b5180602884d0ce065c5",
      "tree": "ea919a19d06f60f0843ada9d198a4870e58037f1",
      "parents": [
        "6759a67579a927f2a92f398cf67555e6cc92d0ff"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 15 21:01:23 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:28 2012 +0200"
      },
      "message": "Bluetooth: Merge device class into the EIR data in mgmt_ev_device_found\n\nThere\u0027s no need to have a separate device class field since the same\ninformation can be encoded into the EIR data.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6759a67579a927f2a92f398cf67555e6cc92d0ff",
      "tree": "2a35a3a6c01a0c207b6c8c880d50ef22bcd800c1",
      "parents": [
        "9ec9fc8a99acc8a521337612b5e49521c49cb4c5"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 15 20:51:14 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:28 2012 +0200"
      },
      "message": "Bluetooth: Move eir_has_data_field to hci_core.h\n\nThis makes the function accessible from all places it\u0027s needed (e.g.\nmgmt.c and hci_event.c).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9ec9fc8a99acc8a521337612b5e49521c49cb4c5",
      "tree": "c072d6088c9f3bca6406747f1af27f01c73c9d80",
      "parents": [
        "4ddb1930f91b7395a760cd4a8cf1b2a87011571c"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 15 20:46:33 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:27 2012 +0200"
      },
      "message": "Bluetooth: Add missing EIR defines to hci.h\n\nThis patch adds missing EIR defines (as specified in the Bluetooth\nAssigned Numbers document) to hci.h.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e319d2e74378660c5e09a1b8703663ba97f0f62a",
      "tree": "ed4b4a2e9e4add922eeac59b7d7e038d5b3e03d0",
      "parents": [
        "afc747a600ff2e3a4eef8f312fc766608a1360e2"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 15 19:51:59 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:27 2012 +0200"
      },
      "message": "Bluetooth: Add eir_len parameter to mgmt_ev_device_found\n\nThis patch add a two byte eir_len parameter mgmt_ev_device_found. Since\nit\u0027s unlikely that the data will in the short term be much bigger than\nconventional EIR lengths just use a small stack based buffer for now to\navoid dynamic memory allocation \u0026 freeing.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "afc747a600ff2e3a4eef8f312fc766608a1360e2",
      "tree": "7e892a4d15ec234ffb0fdd0b4d1fb9d697a88385",
      "parents": [
        "7005ff1780ca7ad5ed2ec710ad35affc48362ebf"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 15 18:11:07 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:27 2012 +0200"
      },
      "message": "Bluetooth: Rename mgmt connected events to match user space\n\nUser space uses device_(dis)connected instead of just (dis)connected so\nrename the defines and functions to match this.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7d262f86f6b73efb500be9d9242ef0673221493d",
      "tree": "2fac18b8c93fc1cea0df77f7735857456a7e8564",
      "parents": [
        "0952a57a25ee9854e1bf21e333b9fd3de211760e"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Tue Jan 10 18:20:49 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:27 2012 +0200"
      },
      "message": "Bluetooth: Add \u0027eir_len\u0027 param to mgmt_device_found()\n\nThis patch adds a new parameter to mgmt_device_found() to inform\nthe length of \u0027eir\u0027 pointer.\n\nEIR data from LE advertising report event doesn\u0027t have a fixed length\nas EIR data from extended inquiry result event does. We needed to\nchange mgmt_device_found() so it copies \u0027eir_len\u0027 bytes instead of\nHCI_MAX_EIR_LENGTH.\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": "75b93b59ad625d734b1c7d7e05bf6b9898c8c28f",
      "tree": "fd57ebd9987b118fb53a16620add52ef7a544abf",
      "parents": [
        "8b281b9c7820b054d15cf471c418fd884cbbec78"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Wed Jan 11 10:59:45 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:25 2012 +0200"
      },
      "message": "Bluetooth: Make l2cap_clear_timer return if timer was running or not\n\nThis is usefull when need to make action after timer was cleared\ndepending on if it was running or not.\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": "8b281b9c7820b054d15cf471c418fd884cbbec78",
      "tree": "31b6c65765bd0c176ccc6136b75bb3e67e73d83f",
      "parents": [
        "a3d4e20a88f54571d794cca365f232bfed0669bb"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "festevam@gmail.com",
        "time": "Tue Jan 10 18:33:50 2012 -0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:25 2012 +0200"
      },
      "message": "Bluetooth: Fix \u0027enable_hs\u0027 type\n\nFix the following build warning:\n\n  CC [M]  net/bluetooth/hci_core.o\nnet/bluetooth/hci_core.c: In function ‘__check_enable_hs’:\nnet/bluetooth/hci_core.c:2587: warning: return from incompatible pointer type\n\nmodule_param in hci_core.c passes \u0027enable_hs\u0027 as bool format, so fix\nthis variable definition type.\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "a3d4e20a88f54571d794cca365f232bfed0669bb",
      "tree": "68cccf2a12d31c8dc98413831caf35e0f01606a6",
      "parents": [
        "44b5f7d0cb1939497a0858d9f43d89f039f85887"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Jan 09 00:53:02 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:25 2012 +0200"
      },
      "message": "Bluetooth: Sort to-be-resolved devices by RSSI during discovery\n\nThis patch makes sure that devices with stronger signal (RSSI closer to\n0) are sorted first in the resolve list and will therefore get their\nnames resolved first during device discovery. Since it\u0027s more likely\nthat the device the user is trying to discover has a strong signal due\nto its proximity this ensures that the user gets the \"device found\"\nevent for it more quickly.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a8b2d5c2cfe1c6398e3fdd4372c4ae7f74fb4493",
      "tree": "5e732f5143512a52eb7a343c143c1eaeb565c8f7",
      "parents": [
        "cbe8fed490601862310f035b9973509b8634998e"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Sun Jan 08 23:11:15 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:25 2012 +0200"
      },
      "message": "Bluetooth: Move mgmt related flags from hdev-\u003eflags to hdev-\u003edev_flags\n\nThere\u0027s no point in exposing these to user-space (which is what happens\nto everything in hdev-\u003eflags) so move them to dev_flags instead.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "cbe8fed490601862310f035b9973509b8634998e",
      "tree": "1e7ec26868d0c4639b6a659b1cf6eb645f0c7a79",
      "parents": [
        "dc946bd86f725c42c3ab1caf9966d29f5b364fea"
      ],
      "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": "Mon Feb 13 17:01: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": "dc946bd86f725c42c3ab1caf9966d29f5b364fea",
      "tree": "65ad1d42be0718f9eb795952ad78429b74865c7d",
      "parents": [
        "4c724c7135ca2b407bd318b4267456a7b5723825"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Sat Jan 07 15:47:24 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:24 2012 +0200"
      },
      "message": "Bluetooth: Remove __hci_dev_put/hold\n\nSince we remove the owner field of hci_dev hci_dev_put and __hci_dev_put\ndo the same so we can merge them into one function. Same for\nhci_dev_hold and __hci_dev_hold.\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": "4c724c7135ca2b407bd318b4267456a7b5723825",
      "tree": "978671b8806e87a4ec4b366b453be5ae9e9a7408",
      "parents": [
        "e9b9cfa1575e37cb2dbb5534aeaaa16814228887"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Sat Jan 07 15:47:23 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:24 2012 +0200"
      },
      "message": "Bluetooth: Correctly take hci_dev-\u003edev refcount\n\nThe hci_dev-\u003edev device structure has an internal refcount. This\nrefcount is used to protect the whole hci_dev object. However, we\ncurrently do not use it.  Therefore, if someone calls hci_free_dev() we\ncurrently immediately destroy the hci_dev object because we never took\nthe device refcount.\n\nThis even happens if the hci_dev-\u003erefcnt is not 0. In fact, the\nhci_dev-\u003erefcnt is totally useless in its current state. Therefore, we\nsimply remove hci_dev-\u003erefcnt and instead use hci_dev-\u003edev refcnt.\n\nThis fixes all the symptoms and also correctly integrates the device\nstructure into our bluetooth bus system.\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": "e9b9cfa1575e37cb2dbb5534aeaaa16814228887",
      "tree": "4f0a8e2a1c9b8776b1c637df081792b5dda88cd3",
      "parents": [
        "46e06531a5ae13c66f774d3cb1ad78385618a5a2"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Sat Jan 07 15:47:22 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:24 2012 +0200"
      },
      "message": "Bluetooth: Remove HCI-owner field\n\nAfter unregistering an hci_dev object a bluetooth driver does not have\nany callbacks in the hci_dev structure left over. Therefore, there is no\nneed to keep a reference to the module.\n\nPreviously, we needed this to protect the hci-destruct callback.\nHowever, this callback is no longer available so we do not need this\nowner field, anymore.  Drivers now call hci_unregister_dev() and they\nare done with the object.\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": "587ae086f6e44c3f1d313e3efdfc8c2866784bc3",
      "tree": "71d48b822fb134f03a3d3717a1513a672b994b02",
      "parents": [
        "797fe796c4335b35d95d5326824513befdb5d1e9"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Sat Jan 07 15:47:20 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:24 2012 +0200"
      },
      "message": "Bluetooth: Remove unused hci-destruct cb\n\nThe hci-destruct callback is not used by any driver so we can remove it.\nThere is no reason to keep it alive, anymore. Drivers can free their\ninternal data on driver-release and we do not need to provide a public\ndestruct callback.\n\nInternally, we still use a destruct callback inside of hci_sysfs.c. This\none is used to correctly free our hci_dev data structure if no more\nusers have a reference to it.\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": "010666a126fce7b9ecdda7209c558db21d771c56",
      "tree": "b62205772eeb78fd1d5431d48331eae98a7e96e2",
      "parents": [
        "5a0b8159e1c65ce25382d3f5189b6a462422f065"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@googlemail.com",
        "time": "Sat Jan 07 15:47:07 2012 +0100"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:22 2012 +0200"
      },
      "message": "Bluetooth: Make hci-destruct callback optional\n\nSeveral drivers already provide an empty callback so we can actually\nmake this optional and then remove all those empty callbacks in the\ndrivers.\n\nThis callback isn\u0027t needed at all by most drivers as they can remove\ntheir allocated structures on device disconnect and not on hci\ndestruction.\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": "1931782b67bd1b81007022e8311669c40bb7d5b1",
      "tree": "7ab32be2e17a71dc242be4755899a55d6dd5368b",
      "parents": [
        "cc48dc0a996af6ae20e91c551d71e7f72768860f"
      ],
      "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": "Mon Feb 13 17:01:21 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": "cc48dc0a996af6ae20e91c551d71e7f72768860f",
      "tree": "f3f5d9b8f75aafeebcd84463ed886ca51b2482bf",
      "parents": [
        "b83ddfe2ac670392c27a799371bb1a7e14a7e3d3"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed Jan 04 16:42:26 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:21 2012 +0200"
      },
      "message": "Bluetooth: Remove magic number from ACL TO\n\nAdds HCI_ACL_TX_TIMEOUT and clear conversion from msec to jiffies\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": "b83ddfe2ac670392c27a799371bb1a7e14a7e3d3",
      "tree": "08d590b04b84860e3d29944e176d79d00f165cf6",
      "parents": [
        "6423cf3a1862d5b162aaa13543bf69216a9f6ac0"
      ],
      "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": "Mon Feb 13 17:01:21 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": "25e89e99b4a54a2cb6e27b4675cd71a3d8a9b3fc",
      "tree": "caa527d1692f5679b4f6923ac96161cdd58477f2",
      "parents": [
        "5e41862322388224eef7ce221c8772489e3aa39a"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed Jan 04 12:41:58 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Process num completed data blocks event\n\nAdds support for Number Of Completed Data Blocks Event.\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": "30dc78e1a2bcbe2a0fca7aa44dfded4bb0db6148",
      "tree": "e84a8d690192e75d14212d690e772575eebf68e8",
      "parents": [
        "ff9ef5787046c3fd20cf9f7ca1cd70260c1eedb9"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 15:44:20 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Add name resolving support for mgmt based discovery\n\nThis patch adds the necessary logic to perform name lookups after\ninquiry completes. This is done by checking for entries in the resolve\nlist after each inquiry complete and remote name complete HCI event.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ff9ef5787046c3fd20cf9f7ca1cd70260c1eedb9",
      "tree": "ba9d936fd1aa8b3a8f4fe0685b71007f9116f30c",
      "parents": [
        "30883512be0839349d29c7b0bc31016e0498cf8c"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 14:23:45 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Add discovery state tracking\n\nThis patch adds proper state tracking to the device discovery process.\nThis makes it possible to return appropriate errors when trying to stop\na non-active discovery or start discovery when it is already ongoing.\nOnce name resolving is implemented this also makes it possible to know\nwhat the right action to do is when a remote name lookup is cancelled.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "30883512be0839349d29c7b0bc31016e0498cf8c",
      "tree": "e8d34819c884ed81f0bba1ad4f337c47fd15efae",
      "parents": [
        "4663262c294c71aa1139616ae7f24dd345a69c15"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 14:16:21 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Rename hdev-\u003einq_cache to hdev-\u003ediscovery\n\nThis struct is used for not just inquiry caching but also for general\ndevice discovery state tracking so it\u0027s better to rename it to something\nmore appropriate.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3175405b906a85ed2bad21e09c444266e4a05a8e",
      "tree": "cf75dda123120a5a48ee322c3248ea73d37cbdcc",
      "parents": [
        "561aafbcb2e3f8fee11d3781f866c7b4c4f93a28"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 13:39:52 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Return updated name state with hci_inquiry_cache_update\n\nIf user-space has already confirmed the name for a remote device we\nshouldn\u0027t request confirmation again. The simplest way to do this is to\nreturn the name state from hci_inquiry_cache_update (if it is anything\nelse than unknown then we do not need confirmation from user-space).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "561aafbcb2e3f8fee11d3781f866c7b4c4f93a28",
      "tree": "98fc5da4793bd16810a47450afe28e7304bdea8c",
      "parents": [
        "32748db00228b67a5315a91e1a6dd2c54864d87b"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 13:31:59 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:19 2012 +0200"
      },
      "message": "Bluetooth: Add initial mgmt_confirm_name support\n\nThis patch adds initial support for mgmt_confirm_name. It adds the\nnecessary tracking of the name state by extending the inquiry cache. The\nactual name resolving operation (to be done once inquiry is finished) is\nnot yet part of this patch.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "32748db00228b67a5315a91e1a6dd2c54864d87b",
      "tree": "d939731869285f36e4a60684351315dab3b7e2e8",
      "parents": [
        "b57c1a5646739bfc273245dc738f2f12a2d4d3ec"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Dec 30 14:57:23 2011 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:19 2012 +0200"
      },
      "message": "Bluetooth: Move Extended Inquiry Response defines to hci.h\n\nThe EIR defines are needed also outside of mgmt.c (e.g. in hci_event.c\nto check if EIR data has the complete name) so it\u0027s better to have them\nin a single public place, i.e. hci.h.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b57c1a5646739bfc273245dc738f2f12a2d4d3ec",
      "tree": "1311c1e412bceb3dc53487c3a71365a976c2ce39",
      "parents": [
        "12325280dfeba18164f9c47e226a40ab34e23ee7"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jan 03 16:03:00 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:19 2012 +0200"
      },
      "message": "Bluetooth: Convert inquiry cache to use standard list types\n\nThis makes it possible to use the convenience functions provided for\nstandard kernel list types and it also makes it easier to extend the use\nof the cache for the management interface where e.g. name resolving\ncontrol will be needed.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "885bd8eca6ac172e299750d99bd5c9fddbed89b9",
      "tree": "7ce2265d4738f6ea1f40f13d86d96c150bef73cf",
      "parents": [
        "3dc5e1751803e812806d7aa46150af92f91ef489"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Thu Feb 02 17:44:55 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:55:51 2012 -0500"
      },
      "message": "mac80211: support hw scan while idle\n\nCurrently, mac80211 goes to idle-off before starting a scan.\nHowever, some devices that implement hw scan might not\nneed going idle-off in order to perform a hw scan, and\nthus saving some energy and simplifying their state machine.\n\n(Note that this is also the case for sched scan - it\ncurrently doesn\u0027t make mac80211 go idle-off)\n\nAdd a new flag to indicate support for hw scan while idle.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "267335d63b808dc861f3a4dc81a605489a8a13ac",
      "tree": "2f114b6f45147d17ea4cbd57cf33289a57248a1b",
      "parents": [
        "3eda95de19e1781612091869e866a5014257f462"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Tue Jan 31 20:25:47 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:53:10 2012 -0500"
      },
      "message": "cfg80211/mac80211: userspace peer authorization in IBSS\n\nIf the IBSS network is RSN-protected, let userspace authorize the stations\ninstead of adding them as AUTHORIZED by default.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4c0c0b75e0c35ddb8f61c06bcbffede63ab4f4a2",
      "tree": "5d3ee488424ac02ef06330ebff3e5de6e5058941",
      "parents": [
        "95de817b9034d50860319f6033ec85d25024694c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:26 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:50:37 2012 -0500"
      },
      "message": "cfg80211: export cfg80211_ref_bss\n\nThis is needed by mac80211 to keep a reference\nto a BSS alive for the auth process. Remove the\nold version of cfg80211_ref_bss() since it\u0027s\nnot actually used.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "95de817b9034d50860319f6033ec85d25024694c",
      "tree": "8dc100ec6a5ee527a6e86b33e904f5f9d14181ab",
      "parents": [
        "7852e36186d2a1983c215836d7e3d7b8927c930d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:25 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:50:37 2012 -0500"
      },
      "message": "cfg80211: stop tracking authenticated state\n\nTo track authenticated state seems to have been\na design mistake in cfg80211. It is possible to\nhave out of band authentication (FT), tracking\nmultiple authentications caused more problems\nthan it ever helped, and the implementation in\nmac80211 is too complex.\n\nRemove all this complexity, and let userspace\ndo whatever it wants to, mac80211 can deal with\nthat just fine. Association is still tracked of\ncourse, but authentication no longer is. Local\nauth state changes are thus no longer of value,\nso ignore them completely.\n\nThis will also help implement SAE -- asking the\ndriver to do an authentication is now almost\nequivalent to sending an authentication frame,\nwith the exception of shared key authentication\nwhich is still handled completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f09603a259ffef69ad4516a04eb06cd65ac522fe",
      "tree": "3f826769c697eb15a76771e25291bbb54f9f58ab",
      "parents": [
        "71ec375c75095002f36f083ceb32bbb8725734ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:21 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:48:24 2012 -0500"
      },
      "message": "mac80211: add sta_state callback\n\n(based on Eliad\u0027s patch)\n\nAdd a callback to notify the low-level driver whenever\nthe state of a station changes. The driver is only\nnotified when the station is actually in the mac80211\nhash table, not for pre-insert state transitions.\n\nTo allow the driver to replace sta_add/remove calls\nwith this, call extra transitions with the NOTEXIST\nstate.\n\nThis callback can fail, so we need to be careful in\nhandling it when a station is inserted, particularly\nin the IBSS case where we still keep the station entry\naround for mac80211 purposes.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "19468413e8d98d44be8daf0acaf8d576dfc53fa2",
      "tree": "99d7df720566824c4588ccff03c65e60c381e60d",
      "parents": [
        "24db78c05b1e3ccb5a78aedd17aa1008c91dab5a"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sat Jan 28 17:25:33 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 30 15:48:26 2012 -0500"
      },
      "message": "mac80211: add support for mcs masks\n\n* Handle MCS masks set by the user.\n* Match rates provided by the rate control algorithm to the mask set,\n  also in HT mode, and switch back to legacy mode if necessary.\n* add debugfs files to observate the rate selection\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "24db78c05b1e3ccb5a78aedd17aa1008c91dab5a",
      "tree": "f41babc8ada871a26619be23f983121ad557da91",
      "parents": [
        "d273bb20c00340748e3ca9730f87524ec5abbd64"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sat Jan 28 17:25:32 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 30 15:48:25 2012 -0500"
      },
      "message": "nl80211: add support for mcs masks\n\nAllow to set mcs masks through nl80211. We also allow to set MCS\nrates but no legacy rates (and vice versa).\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4acb41903b2f99f3dffd4c3df9acc84ca5942cb2",
      "tree": "3a2dc1739d654effecd86749e49a40d41019e645",
      "parents": [
        "8a8ee9aff6c3077dd9c2c7a77478e8ed362b96c6"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Mon Jan 30 01:20:17 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 12:41:06 2012 -0500"
      },
      "message": "net/tcp: Fix tcp memory limits initialization when !CONFIG_SYSCTL\n\nsysctl_tcp_mem() initialization was moved to sysctl_tcp_ipv4.c\nin commit 3dc43e3e4d0b52197d3205214fe8f162f9e0c334, since it\nbecame a per-ns value.\n\nThat code, however, will never run when CONFIG_SYSCTL is\ndisabled, leading to bogus values on those fields - causing hung\nTCP sockets.\n\nThis patch fixes it by keeping an initialization code in\ntcp_init(). It will be overwritten by the first net namespace\ninit if CONFIG_SYSCTL is compiled in, and do the right thing if\nit is compiled out.\n\nIt is also named properly as tcp_init_mem(), to properly signal\nits non-sysctl side effect on TCP limits.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/4F22D05A.8030604@parallels.com\n[ renamed the function, tidied up the changelog a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ee4433efe99b9f39f6eff5052a177bbcfe72cea",
      "tree": "0be8ae9b59828b3fee0fdf5cac9432604a317230",
      "parents": [
        "cc0d7b91db000aef1cc12f1d3d4d7f80af9bd419"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 26 14:02:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 27 21:06:02 2012 -0500"
      },
      "message": "netns: Fail conspicously if someone uses net_generic at an inappropriate time.\n\nBy definition net_generic should never be called when it can return\nNULL.  Fail conspicously with a BUG_ON to make it clear when people mess\nup that a NULL return should never happen.\n\nRecently there was a bug in the CAIF subsystem where it was registered\nwith register_pernet_device instead of register_pernet_subsys.  It was\nerroneously concluded that net_generic could validly return NULL and\nthat net_assign_generic was buggy (when it was just inefficient).\nHopefully this BUG_ON will prevent people to coming to similar erroneous\nconclusions in the futrue.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15f0ebc23b7c68176ee3f9729d4a7f566cc6c311",
      "tree": "7462bd7c17432906f0fd49bd7484c7d61624c3fc",
      "parents": [
        "67e43de6dbc9caf52fa7bcf4c813fd088ba6fbfc"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:03:00 2012 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 27 14:56:58 2012 -0500"
      },
      "message": "kernel-doc: fix new warnings in cfg80211.h\n\nFix new kernel-doc warnings:\n\nWarning(include/net/cfg80211.h:1165): No description found for parameter \u0027channel_type\u0027\nWarning(include/net/cfg80211.h:2090): No description found for parameter \u0027probe_resp_offload\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc:\tJohannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc:\tlinux-wireless@vger.kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "94f9065648a2645b28187b44ec7778c30cf58758"
}
