)]}'
{
  "log": [
    {
      "commit": "7e1af8a3a51dbf5dc7392fb294a0830f7e853aa8",
      "tree": "5f495e6078044694b1b70e068288b1645e3370f7",
      "parents": [
        "8c3a4f004e706fd7e681c68c6de4946c8c76b976"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Tue May 29 13:19:26 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:16 2012 +0300"
      },
      "message": "Bluetooth: Create empty l2cap ops function\n\nA2MP doesn\u0027t use part of the L2CAP chan ops API so we just create general\nempty function instead of the A2MP specific one.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "8c3a4f004e706fd7e681c68c6de4946c8c76b976",
      "tree": "9276da82e757252396ae3adb7e2b2c2e59c1c200",
      "parents": [
        "682877c31fc1b6510b694b6b8e78d8dde53a47cc"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Thu May 31 17:01:35 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:16 2012 +0300"
      },
      "message": "Bluetooth: Rename L2CAP_LE_DEFAULT_MTU\n\nThis patch renames L2CAP_LE_DEFAULT_MTU macro to L2CAP_LE_MIN_MTU\nsince it represents the minimum MTU value, not the default MTU\nvalue for LE.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "682877c31fc1b6510b694b6b8e78d8dde53a47cc",
      "tree": "f1b042c56fa7c6d61026fafa7d2f90478c26c910",
      "parents": [
        "6fcb06a28d150095f042c477fbe20a9767d9a951"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Thu May 31 17:01:34 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:15 2012 +0300"
      },
      "message": "Bluetooth: Check MTU value in l2cap_sock_setsockopt_old\n\nIf user tries to set an invalid MTU value, l2cap_sock_setsockopt_old\nshould return -EINVAL.\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "6fcb06a28d150095f042c477fbe20a9767d9a951",
      "tree": "2432bb66eb04596105c677a75620334f42b7b4cd",
      "parents": [
        "4f72b3291c9537a3c3c94552e248eaed8e4f8492"
      ],
      "author": {
        "name": "Andre Guedes",
        "email": "andre.guedes@openbossa.org",
        "time": "Thu May 31 17:01:33 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:15 2012 +0300"
      },
      "message": "Bluetooth: Change default MTU for L2CAP ATT channel\n\nThis patch changes the default MTU value for L2CAP ATT fixed channel\nto L2CAP_DEFAULT_MTU (672 octets).\n\nDifferently from others L2CAP channels, in L2CAP ATT fixed channel\nthere is no MTU negotiation. The MTU value for that channel is up to\nthe L2CAP implementation. The only restriction in L2CAP spec is the\nMTU value must not be less than 23 octets.\n\nAt ATT protocol level (on top of L2CAP), we have the ATT_MTU which\ndefines the maximum size of any ATT message sent between client and\nserver. GATT profile defines ATT_MTU default value to 23 octets. If\na GATT based profile wants to use ATT_MTU greater than 23 octets\n(e.g. HID over GATT profile), it should negotiate a new value by\nexecuting the GATT Exchange MTU sub-procedure.\n\nThus, in order to support any value of ATT_MTU negotiated at ATT\nprotocol level, our L2CAP implementation should have L2CAP ATT\nfixed channel MTU equal or greater than ATT_MAX_MTU (512 octets).\n\nSigned-off-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "4f72b3291c9537a3c3c94552e248eaed8e4f8492",
      "tree": "dcad0e6f1c084dcf33f48ed789d9b80f39e28a13",
      "parents": [
        "489dc48e7583d825304b0aff3fc17e706627b3c8"
      ],
      "author": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@tieto.com",
        "time": "Wed May 30 15:39:23 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:15 2012 +0300"
      },
      "message": "Bluetooth: Fix not removing hci_conn for failed LE connection\n\nThis patch changes way LE Connection Complete event with error status are\nhandled. BDADDR returned in such event packet do not need to be valid and\nshould not be used to search for existing hci_conn. Instead, any hci_conn\nwith BT_CONNECT state should be matched since there can be only one\npending LE outgoing connection at any time.\n\nIf not handled properly, appriopriate hci_conn will not be removed and\nsubsequent connection to given peer will try to reuse it without making\nactual connection attempt.\n\n2012-05-07 11:21:39.133378 \u003c HCI Command: LE Create Connection (0x08|0x000d) plen 25\n    bdaddr 00:22:D0:10:13:EE type 1\n2012-05-07 11:21:39.138774 \u003e HCI Event: Command Status (0x0f) plen 4\n    LE Create Connection (0x08|0x000d) status 0x00 ncmd 1\n2012-05-07 11:21:44.752854 \u003c HCI Command: LE Create Connection Cancel (0x08|0x000e) plen 0\n2012-05-07 11:21:44.759475 \u003e HCI Event: Command Complete (0x0e) plen 4\n    LE Create Connection Cancel (0x08|0x000e) ncmd 1\n2012-05-07 11:21:44.764479 \u003e HCI Event: LE Meta Event (0x3e) plen 19\n    LE Connection Complete\n      status 0x02 handle 0, role master\n      bdaddr 00:00:00:00:00:00 (Public)\n\n[14898.739425] [6603] hci_connect: hci0 dst 00:22:D0:10:13:EE\n[14898.739429] [6603] hci_conn_add: hci0 dst 00:22:D0:10:13:EE\n[14898.739434] [6603] hci_conn_init_sysfs: conn ffff880079f03000\n[14898.739440] [6603] hci_send_cmd: hci0 opcode 0x200d plen 25\n[14898.739443] [6603] hci_send_cmd: skb len 28\n[14898.739487] [6603] hci_chan_create: hci0 conn ffff880079f03000\n...\n[14938.860231] [55] hci_send_cmd: hci0 opcode 0x200e plen 0\n...\n[14938.876427] [55] hci_le_conn_complete_evt: hci0 status 2\n[14938.876433] [55] hci_conn_add: hci0 dst 00:00:00:00:00:00\n[14938.876439] [55] hci_conn_init_sysfs: conn ffff88007aeff800\n[14938.876454] [55] hci_send_to_control: len 14\n[14938.876470] [55] l2cap_connect_cfm: hcon ffff88007aeff800 bdaddr 00:00:00:00:00:00 status 2\n[14938.876474] [55] hci_conn_del: hci0 conn ffff88007aeff800 handle 0\n\nSigned-off-by: Andrzej Kaczmarek \u003candrzej.kaczmarek@tieto.com\u003e\nAcked-by: Andre Guedes \u003candre.guedes@openbossa.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "489dc48e7583d825304b0aff3fc17e706627b3c8",
      "tree": "57d2dfc28807a5a42fbceafbb8e365bd1c54342f",
      "parents": [
        "dfc94dbdb999154dc2ff44e6011a4912c0b29e88"
      ],
      "author": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@tieto.com",
        "time": "Wed May 30 15:39:22 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:15 2012 +0300"
      },
      "message": "Bluetooth: Return proper mgmt state when LE pairing connection failed\n\nMGMT_STATUS_BUSY should be returned when LE pairing cannot be started due\nto another outgoing connection attempt is ongoing.\n\nSigned-off-by: Andrzej Kaczmarek \u003candrzej.kaczmarek@tieto.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "dfc94dbdb999154dc2ff44e6011a4912c0b29e88",
      "tree": "26271a8b560a1f239fedc61a6dde79dd187f9a86",
      "parents": [
        "f0f6279976c8f0768468293546785c18894a704c"
      ],
      "author": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@tieto.com",
        "time": "Wed May 30 15:39:21 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:15 2012 +0300"
      },
      "message": "Bluetooth: Allow only one LE connection attempt\n\nOnly one outgoing LE connection attempt should be possible.\nhci_connect() will now return -EBUSY in case there\u0027s another pending\noutgoing connection.\n\nSigned-off-by: Andrzej Kaczmarek \u003candrzej.kaczmarek@tieto.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f0f6279976c8f0768468293546785c18894a704c",
      "tree": "0e3cbb109f10038629ad81fb9b0d1a43fc566e05",
      "parents": [
        "ba7aa64fe24d293bd433b82c30d505ab8611673f"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Tue May 29 13:29:17 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:15 2012 +0300"
      },
      "message": "Bluetooth: Remove unused err var from l2cap_segment_sdu()\n\nTrivial fix, let the code cleaner.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nReviewed-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "ba7aa64fe24d293bd433b82c30d505ab8611673f",
      "tree": "8dbe36cb7a5b13c108ed31d57e93b41906e5215c",
      "parents": [
        "6810fca724d2a3c08c0d2eb8510648e7a36ab592"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Tue May 29 13:29:16 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:15 2012 +0300"
      },
      "message": "Bluetooth: Create function to return the ERTM header size\n\nSimplify the handling of different ERTM header size. We were the same\ncheck in some places of the code, and more is expected to come, so just\nreplace them with a function.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nAcked-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "6810fca724d2a3c08c0d2eb8510648e7a36ab592",
      "tree": "0ff08fb1c0dea175f78a59fb8e37ab5a0a4c337c",
      "parents": [
        "84104b241d26302cb9083779d06741002534a58e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 31 11:18:57 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: Make l2cap_att_channel return void\n\nl2cap_att_channel always returns 0 which is not used.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "84104b241d26302cb9083779d06741002534a58e",
      "tree": "d1199fcc7c210a7c323669cae11b008269dc9229",
      "parents": [
        "13ca56e0537aa148b7e7a6ea38ca6a6a1dc3e197"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 31 11:18:56 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: Make l2cap_conless_channel return void\n\nl2cap_conless_channel always return 0 which is not used.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "13ca56e0537aa148b7e7a6ea38ca6a6a1dc3e197",
      "tree": "a333d657b3f90164c452c00d0d5615589569112a",
      "parents": [
        "3cabbfdad3150e0083a64c951701c970ef970c77"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 31 11:18:55 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: Make l2cap_data_channel return void\n\nl2cap_data_channel always return 0 which is not used anywhere,\nmake it void function.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "3cabbfdad3150e0083a64c951701c970ef970c77",
      "tree": "06cac37ffdf14a90f19d1712418a1ef9d0ffce97",
      "parents": [
        "fd83e2c27c1bd8b0e9dc7596339c2411385f8b0c"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 31 11:01:37 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Do not reference hci_conn\n\nMake A2MP channel special channel which do not reference hci_conn.\nThis prevents from keeping ACL connection open when all L2CAP\nchannels got closed.\n\nhci_conn_hold and hci_conn_put are not reference counts on the\nhci_conn structure in the typical way.  They are reference counts for\nthe ACL.  When you do the last hci_conn_put, the ACL is disconnected\nafter a timeout.\n\nReported-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "fd83e2c27c1bd8b0e9dc7596339c2411385f8b0c",
      "tree": "7852ad94ac8b2765c5a2e3fffda120a5189393fd",
      "parents": [
        "1afd5be87e30997a5623260d9177ed62cf88adbe"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 30 09:55:32 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: Do not check func ready existence\n\nFunctions will be always defined and in case not implemented as\ndummy __no_func.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "1afd5be87e30997a5623260d9177ed62cf88adbe",
      "tree": "ac9d1ca5bf71621fe8101cc835da4779e3240561",
      "parents": [
        "97e8e89d2d8185b7644c9941636d3682eedc517b"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Mon May 28 11:47:20 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: Remove unused HCI timeouts definitions\n\nThose are not used anywhere in code (and never were since introduction\nin 2006) so just remove them.\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "97e8e89d2d8185b7644c9941636d3682eedc517b",
      "tree": "b9db250da912d6185c03f2a93145ef9f69d4c32a",
      "parents": [
        "416fa7527d6bf658e5517ea36d2de9270be2c11e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:17 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:14 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Manage incoming connections\n\nHandle incoming A2MP connection by creating AMP manager and\nprocessing A2MP messages.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "416fa7527d6bf658e5517ea36d2de9270be2c11e",
      "tree": "60f3f131884ff8aa5e0d02c9a098e612138aa5a2",
      "parents": [
        "f6410a849b76f56c78d989786eb427b85a559b9f"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:16 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Handling fixed channels\n\nA2MP fixed channel do not have sk\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f6410a849b76f56c78d989786eb427b85a559b9f",
      "tree": "b8414c4fb0f7bf2e7763edb0965473cad2e6b9fb",
      "parents": [
        "6113f84fc1a8962aed25f54a115b196e9aea151f"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:15 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Command Responses\n\nProcess A2MP responses, print cmd code and ident for now.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "6113f84fc1a8962aed25f54a115b196e9aea151f",
      "tree": "0209e8d9aef3d685aab4844f02f24c863bcf29ec",
      "parents": [
        "e072f5dab22e7bf0a10daf854acc0fc271396ee7"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:14 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Disc Physlink Request\n\nPlaceholder for A2MP Disconnect Physlink Request.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e072f5dab22e7bf0a10daf854acc0fc271396ee7",
      "tree": "8a03d1852e29948c29c3bd927b0d40a40a167673",
      "parents": [
        "a28381dc9ca3e54b0678e2cd7c68c1afb2d7cc76"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:13 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Create Physlink Request\n\nPlaceholder for A2MP Create Physlink Request.\nHandles requests with invalid controler id as shown below:\n\n...\n\u003e ACL data: handle 11 flags 0x02 dlen 50\n    A2MP: Create Physical Link req: local id 1 remote id 85\n      Assoc data:\n        \u003cskipped\u003e\n\u003c ACL data: handle 11 flags 0x00 dlen 15\n    A2MP: Create Physical Link rsp: local id 85 remote id 1 status 1\n      Invalid Controller ID\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "a28381dc9ca3e54b0678e2cd7c68c1afb2d7cc76",
      "tree": "de2a390f7515578fea1421039c9efe256ed48f41",
      "parents": [
        "47f2d97d38816aaca94c9b6961c6eff1cfcd0bd6"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:12 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Get AMP Assoc Request\n\nExample trace when receiving AMP Assoc Request with wrong AMP id.\n...\n\u003e ACL data: handle 11 flags 0x02 dlen 13\n    A2MP: Get AMP Assoc req: id 238\n\u003c ACL data: handle 11 flags 0x00 dlen 14\n    A2MP: Get AMP Assoc rsp: id 238 status (1) Invalid Controller ID\n      assoc data:\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "47f2d97d38816aaca94c9b6961c6eff1cfcd0bd6",
      "tree": "1d7c3ff629cd4844f2f4d76ac4ed824258ed4542",
      "parents": [
        "329d81af29344a2ad2f9595310be74644421797a"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:11 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Get Info Request\n\nProcess A2MP Get Info Request.\nExample of trace log for invalid controller id is shown below:\n\n...\n\u003e ACL data: handle 11 flags 0x02 dlen 13\n    A2MP: Get Info req: id 238\n\u003c ACL data: handle 11 flags 0x00 dlen 30\n    A2MP: Get Info rsp: id 238 status (1) Invalid Controller ID\n...\n\nNote that If the Status field is set to Invalid Controller ID all subsequent\nfields in the AMP Get Info Response shall be ignored by the receiver.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "329d81af29344a2ad2f9595310be74644421797a",
      "tree": "a217c20759c272174a2502505d03a97cb4270ba2",
      "parents": [
        "8598d064cbf22b2d84c7cd8a9fcb97138baffe3f"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:10 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:13 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Change Notify\n\nPlaceholder for A2MP Change Notify handler.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "8598d064cbf22b2d84c7cd8a9fcb97138baffe3f",
      "tree": "4ac83c774867460958b74416144b44004bfd05c1",
      "parents": [
        "21dbd2ce35f6d2b4aa5363be6c839cdb50644e11"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:09 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Discover Request\n\nAdds helper functions to count HCI devs and process A2MP Discover\nRequest, code makes sure that first controller in the list is\nBREDR one. Trace is shown below:\n\n...\n\u003e ACL data: handle 11 flags 0x02 dlen 16\n    A2MP: Discover req: mtu/mps 670 mask: 0x0000\n\u003c ACL data: handle 11 flags 0x00 dlen 22\n    A2MP: Discover rsp: mtu/mps 670 mask: 0x0000\n      Controller list:\n        id 0 type 0 (BR-EDR) status 0x01 (Bluetooth only)\n        id 1 type 1 (802.11 AMP) status 0x01 (Bluetooth only)\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "21dbd2ce35f6d2b4aa5363be6c839cdb50644e11",
      "tree": "a80b7735525bd1c999396ddefff5849ce16e2c0c",
      "parents": [
        "6b44d9b8d96b37f72ccd7335b32f386a67b7f1f4"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:08 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Command Reject\n\nPlaceholder for future A2MP Command Reject handler.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "6b44d9b8d96b37f72ccd7335b32f386a67b7f1f4",
      "tree": "5bbcf9598ae79f777e6af5fd1b2ab43fc8f34679",
      "parents": [
        "e7af522e04bcf68caae6802722efc5c6e8fa63a7"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:07 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP messages\n\nImplement basic processing for AMP Manager Protocol (A2MP).\n\nExample below shows processing unrecognized command.\n...\n\u003e ACL data: handle 11 flags 0x02 dlen 12\n    A2MP: code 0x00 ident 3 len 0\n\u003c ACL data: handle 11 flags 0x00 dlen 14\n    A2MP: Command Reject: reason (0) - Command not recognized\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e7af522e04bcf68caae6802722efc5c6e8fa63a7",
      "tree": "9d15ac69259156fd5a2c751c12b9be296c82eca6",
      "parents": [
        "b9058fb67c42851b4f852d90b11f43279586aae9"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:06 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Define A2MP status codes\n\nA2MP status codes copied from Bluez patch sent by Peter Krystad\n\u003cpkrystad@codeaurora.org\u003e.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "b9058fb67c42851b4f852d90b11f43279586aae9",
      "tree": "15f68f63524738a267f10692236f77dc760a34aa",
      "parents": [
        "46d5c9088fbcc8a570bc271f77940973d9cae074"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:05 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Definitions for A2MP commands\n\nDefine A2MP command IDs and packet structures.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "46d5c9088fbcc8a570bc271f77940973d9cae074",
      "tree": "d6e9f71b18546bcbb5d59d5ecad3361813438e79",
      "parents": [
        "f6d3c6e783b0e9f75b18232f8ff8cd5dbc3f7301"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:04 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Add chan callbacks\n\nAdd L2CAP chan ops callbacks.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f6d3c6e783b0e9f75b18232f8ff8cd5dbc3f7301",
      "tree": "868a752db0c703cdb9152ada0c2e3e6f276d7545",
      "parents": [
        "9740e49d17e55f3832661fd99a8e0a17e921a82e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:03 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Build and Send msg helpers\n\nHelper function to build and send A2MP messages.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "9740e49d17e55f3832661fd99a8e0a17e921a82e",
      "tree": "865915ab8d3c13d1ff74429c84b95a0acab37ee9",
      "parents": [
        "466f8004f364e9cb46d9124109972489eccfb404"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:02 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: A2MP: AMP Manager basic functions\n\nDefine AMP Manager and some basic functions.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "466f8004f364e9cb46d9124109972489eccfb404",
      "tree": "100233272787a891de4022eca15ba5c414719b2c",
      "parents": [
        "0181a70f549bd1683d18a5a1d79ac25bcdb76570"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:01 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Create A2MP channel\n\nCreate and initialize fixed A2MP channel\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "0181a70f549bd1683d18a5a1d79ac25bcdb76570",
      "tree": "9cbbadb32372d1b8186b1236a98aff26b83950fb",
      "parents": [
        "2dfa1003ccd19b435de0be00f6afb7ccdffd7596"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 10:04:05 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: trivial: Use defined PSMLEN instead of magic\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "2dfa1003ccd19b435de0be00f6afb7ccdffd7596",
      "tree": "3d09f8d4f15569d4be0a5ef607fe70742a378953",
      "parents": [
        "538266929eb7165f92b91eb0f403120fe759e742"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Sun May 27 22:27:58 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: check for already existent channel before create new one\n\nMove this check to before the channel time creation simplifies the code\nand avoid memory allocation if the channel already exist.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nAcked-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "538266929eb7165f92b91eb0f403120fe759e742",
      "tree": "1b8076405a9cf11d1eba612e66c0a35d635b090a",
      "parents": [
        "0797e01d877b9677d07b89e0776c061df8878f27"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Sun May 27 22:27:55 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: Move check for backlog size to l2cap_sock.c\n\nRemove socket specific code from l2cap_core.c\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nAcked-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0797e01d877b9677d07b89e0776c061df8878f27",
      "tree": "c29271d0eac5b7d754149bc91929a47df4d90544",
      "parents": [
        "54a59aa2b562872781d6a8fc89f300d360941691"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Sun May 27 22:27:54 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: Use chan-\u003estate instead of sk-\u003esk_state\n\nThese vars are kept in sync so we can use chan-\u003estate here.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "54a59aa2b562872781d6a8fc89f300d360941691",
      "tree": "b2414b9803565ee9e252ccfefb54c98af762ab43",
      "parents": [
        "c0df7f6e06e1aeccee39c801af7f78cadeb9f345"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Sun May 27 22:27:53 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: Add l2cap_chan-\u003eops-\u003eready()\n\nThis move socket specific code to l2cap_sock.c.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c0df7f6e06e1aeccee39c801af7f78cadeb9f345",
      "tree": "e5dbd0ee76df7d761c6315cc07ab5df4fa861cc4",
      "parents": [
        "80b980279508edd1a92d8d77ec99b0ddad00c5fe"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Sun May 27 22:27:52 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Move clean up code and set of SOCK_ZAPPED to l2cap_sock.c\n\nThis remove a bit more of socket code from l2cap core, this calls set the\nSOCK_ZAPPED and do some clean up depending on the socket state.\n\nReported-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "80b980279508edd1a92d8d77ec99b0ddad00c5fe",
      "tree": "28ef9be0b618f37c3fc2b08c1114748517c3fe4a",
      "parents": [
        "3df92b31b2b593c5a067634ef2c30e76b2b2548d"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Sun May 27 22:27:51 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Use chan as parameters for l2cap chan ops\n\nUse chan instead of void * makes more sense here.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3df92b31b2b593c5a067634ef2c30e76b2b2548d",
      "tree": "30baeaaebdb378376c122bd75da89894077fdb7b",
      "parents": [
        "6754e0df133b088aa97ae6f2d3fd5377e43d1fc6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Sun May 27 22:36:56 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Really fix registering hci with duplicate name\n\nCommit fc50744 (\"Bluetooth: Fix registering hci with duplicate name\") didn\u0027t\nfully fix the duplicate naming issue with devices, and duplicate device names\ncould still be created:\n\n[  142.484097] device: \u0027hci1\u0027: device_add\n[...]\n[  150.545263] device: \u0027hci1\u0027: device_add\n[  150.550128] kobject: \u0027hci1\u0027 (ffff880014cc4e58): kobject_add_internal: parent: \u0027bluetooth\u0027, set: \u0027devices\u0027\n[  150.558979] ------------[ cut here ]------------\n[  150.561438] WARNING: at fs/sysfs/dir.c:529 sysfs_add_one+0xb0/0xd0()\n[  150.572974] Hardware name: Bochs\n[  150.580502] sysfs: cannot create duplicate filename \u0027/devices/virtual/bluetooth/hci1\u0027\n[  150.584444] Pid: 7563, comm: trinity-child1 Tainted: G        W    3.4.0-next-20120524-sasha #296\n[...]\n\nInstead of the weird logic and the attempt at keeping the device list sorted,\njust use an IDA.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6754e0df133b088aa97ae6f2d3fd5377e43d1fc6",
      "tree": "d37146e88c2b8878cb0dcee426626ec5cfae075c",
      "parents": [
        "2f84a2e6a6978810b06b5f33892152183f1dace9"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Fri May 25 09:30:56 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Use l2cap_chan_ready() in LE path\n\nThis replace code in l2cap_le_conn_ready() by a similar code in\nl2cap_chan_ready().\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2f84a2e6a6978810b06b5f33892152183f1dace9",
      "tree": "8385ec410b8be033dfd709c0ab3b0fc8ee819705",
      "parents": [
        "35d401df3db4cb7a0403b42641bbf5694e64d374"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Fri May 25 09:30:53 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Remove extra l2cap_state_change(BT_CONNECTED)\n\nThis is already performed inside l2cap_chan_ready(), so we don\u0027t need it\nhere again.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nAcked-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "35d401df3db4cb7a0403b42641bbf5694e64d374",
      "tree": "0a036d2915c8cc27aa5000259c2109a8730a8cd9",
      "parents": [
        "523e93cdb39086b25af2ed19d2a69248510727a2"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Fri May 25 18:57:05 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Get a more accurate L2CAP PDU len\n\nBoth FCS and Extended header might be or might not be present in a ERTM\nchannel.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nReviewed-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "523e93cdb39086b25af2ed19d2a69248510727a2",
      "tree": "bbb4418df21d8893f7b71b7d9788342ddb8b62e2",
      "parents": [
        "82781e634f815e9a675ef643a5e11da0cf77ce0e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri May 25 15:09:26 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Define HCI AMP cmd struct\n\nAdd HCI commands to deal with Bluetooth AMP controllers.\nThose commands will be used by bluetooth and softamp code.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "82781e634f815e9a675ef643a5e11da0cf77ce0e",
      "tree": "eacb2560b0fbfcb92d6eb604320c62fb398b83a6",
      "parents": [
        "ac73498cbb54ebe3a06709ba7e4feb99c83113bf"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri May 25 11:38:27 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Use __constant modifier in HCI code\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ac73498cbb54ebe3a06709ba7e4feb99c83113bf",
      "tree": "a3715f391d6793db546fd043efaad406cf0b287d",
      "parents": [
        "2983fd682444180e45567ce8147a612b97ba69da"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 24 15:42:51 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Use __constant when dealing with constants\n\n__constant_cpu_to_le16() is the right go here.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "2983fd682444180e45567ce8147a612b97ba69da",
      "tree": "57ebc25eb8b0cc854256b50476276b9cb4515ce6",
      "parents": [
        "6d3c730f03e0d1aed2125c1a64ad8857c63f5163"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 24 15:42:50 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Define and use PSM identifiers\n\nDefine assigned Protocol and Service Multiplexor (PSM) identifiers\nand use them instead of magic numbers.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "6d3c730f03e0d1aed2125c1a64ad8857c63f5163",
      "tree": "0e0fd6d8c02863fbda9b00e1e13b67aacdd52116",
      "parents": [
        "37ed561e823f5f91ca87522d61a57974be583c0d"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 24 03:36:37 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Use lmp_ssp_capable() macro\n\nMake the check more user friendly.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "37ed561e823f5f91ca87522d61a57974be583c0d",
      "tree": "294fed6fcd369a6088deeb7817c4854501048c0e",
      "parents": [
        "2d369359f1e0fa13852404ff2f8063235a27d8a7"
      ],
      "author": {
        "name": "Bing Zhao",
        "email": "bzhao@marvell.com",
        "time": "Wed May 23 18:50:04 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: btmrvl: add SD8787 Bluetooth AMP device ID\n\nSD8787 SDIO function 3 (device ID 0x911B) is for Bluetooth AMP.\n\nSigned-off-by: Bing Zhao \u003cbzhao@marvell.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "2d369359f1e0fa13852404ff2f8063235a27d8a7",
      "tree": "c52e17323b01ddec92a0bd1f39a550c9cae848d7",
      "parents": [
        "59e54bd15d63f102c71c3ce695bca5ed90926e46"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Wed May 23 14:59:30 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Send a configuration request after security confirmation\n\nSometimes an ACL link must be raised to a higher security level after\nan L2CAP connection is requested, but before a connection response is\nsent.  In this case, a connection response sent by L2CAP was not\nimmediately followed by a configuration request.  Other code paths do\nsend this configuration request right away.  It was possible for the\nconnection to stall while L2CAP waited for the remote device (like\nPTS) to trigger the configuration process.\n\nHere is an abbreviated hcidump of the failure case with PTS:\n\n1337806446.051982 \u003e ACL data: handle 43 flags 0x02 dlen 10\n    L2CAP(s): Info req: type 2\n1337806446.052050 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Info rsp: type 2 result 0\n      Extended feature mask 0x000000b8\n1337806446.595320 \u003e ACL data: handle 43 flags 0x02 dlen 12\n    L2CAP(s): Connect req: psm 4097 scid 0x0041\n1337806446.595673 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0041 result 1 status 0\n1337806446.595679 \u003c ACL data: handle 43 flags 0x00 dlen 10\n    L2CAP(s): Info req: type 2\n1337806446.669835 \u003e ACL data: handle 43 flags 0x02 dlen 16\n    L2CAP(s): Info rsp: type 2 result 0\n      Extended feature mask 0x00000028\n1337806446.669899 \u003c HCI Command: Authentication Requested (0x01|0x0011) plen 2\n1337806446.669906 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0041 result 1 status 1\n\u003csecurity setup here\u003e\n1337806446.769888 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0041 result 0 status 0\n\nAt this point, the connection stalls and no further messages are sent\non the L2CAP signaling channel.  No data is received either.\n\nIf we immediately send a configuration request after a successful connect\nresponse, the connection completes:\n\n1337724090.041162 \u003e ACL data: handle 43 flags 0x02 dlen 10\n    L2CAP(s): Info req: type 2\n1337724090.041236 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Info rsp: type 2 result 0\n      Extended feature mask 0x000000b8\n1337724090.597128 \u003e ACL data: handle 43 flags 0x02 dlen 12\n    L2CAP(s): Connect req: psm 4097 scid 0x0041\n1337724090.597236 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0041 result 1 status 0\n1337724090.597244 \u003c ACL data: handle 43 flags 0x00 dlen 10\n    L2CAP(s): Info req: type 2\n1337724090.660842 \u003e ACL data: handle 43 flags 0x02 dlen 16\n    L2CAP(s): Info rsp: type 2 result 0\n      Extended feature mask 0x00000028\n1337724090.660926 \u003c HCI Command: Authentication Requested (0x01|0x0011) plen 2\n1337724090.660934 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0041 result 1 status 1\n\u003csecurity setup here\u003e\n1337724090.755162 \u003c ACL data: handle 43 flags 0x00 dlen 16\n    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0041 result 0 status 0\n1337724090.755171 \u003c ACL data: handle 43 flags 0x00 dlen 23\n    L2CAP(s): Config req: dcid 0x0041 flags 0x00 clen 11\n1337724091.361847 \u003e ACL data: handle 43 flags 0x02 dlen 29\n    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 15\n1337724091.863808 \u003e ACL data: handle 43 flags 0x02 dlen 23\n    L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 11\n1337724091.863882 \u003c ACL data: handle 43 flags 0x00 dlen 29\n    L2CAP(s): Config rsp: scid 0x0041 flags 0x00 result 0 clen 15\n1337724092.683745 \u003e ACL data: handle 43 flags 0x02 dlen 12\n    L2CAP(d): cid 0x0040 len 8 [psm 4097]\n      0000: 00 00 11 22 33 44 34 2f                           ...\"3D4/\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "59e54bd15d63f102c71c3ce695bca5ed90926e46",
      "tree": "0a647bce50d563cc4a8fda6007eda7fd6b29e642",
      "parents": [
        "8449e381a8558fb1d911017ea26bae681fea4240"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 15:44:06 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Define L2CAP conf continuation flag\n\nDefine Continuation flag which the only flag used from Flags field\nin L2CAP Configuration Request and Response.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8449e381a8558fb1d911017ea26bae681fea4240",
      "tree": "410c1a1d8e1c046c72b7ce56990f805ecf447f6b",
      "parents": [
        "8c520a59927a5600973782505dbb750d985057c4"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:23 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Remove unneeded EXPORT_SYMBOL\n\nAfter l2cap, sco and bluetooth modules merge some symbols doesn\u0027t need to\nbe exported anymore.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c520a59927a5600973782505dbb750d985057c4",
      "tree": "5ef3689e889285c5cf15a7b92ab8f0cf73ff7259",
      "parents": [
        "8fc9ced398824739d3c25c8aa7f6f34d8e7a49d9"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:22 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Remove unnecessary headers include\n\nMost of the include were unnecessary or already included by some other\nheader.\nReplace module.h by export.h where possible.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8fc9ced398824739d3c25c8aa7f6f34d8e7a49d9",
      "tree": "1ebdf750d6906ff4fc1f1752e8a392aeb9c1e24a",
      "parents": [
        "c3c7ea65941a0b7a4f1b9655e7aaaab6ce1874d2"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:21 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in the subsystem\n\nThis is some leftover from the last patches that fixed style. It is mostly\nline over 80 characters fixes reported by checkpatch.pl.\ncheckpatch.pl is clean for these files now.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c3c7ea65941a0b7a4f1b9655e7aaaab6ce1874d2",
      "tree": "09643091d66605256524b9c601cd08edf01a4a26",
      "parents": [
        "fc5fef615a963c8b13abf0bbc2a8e8d7c3fd1ffb"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:20 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in include/net/bluetooth\n\nFix all warning and errors reported by checkpatch but license trailing\nwhitespace and bdaddr_t definition.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "fc5fef615a963c8b13abf0bbc2a8e8d7c3fd1ffb",
      "tree": "614f9fe99a8005afb6be1e97e4bd1c9f281512e5",
      "parents": [
        "6039aa73a1323edc2d6d93a22505d4dc28f38e3f"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:19 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:07 2012 +0300"
      },
      "message": "Bluetooth: Remove \u0027register\u0027 usage from the subsystem\n\nLet the compiler chooses what is best.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6039aa73a1323edc2d6d93a22505d4dc28f38e3f",
      "tree": "fd1e0de2e823a0fa53234685cd21bf0f5e4b1a4d",
      "parents": [
        "4f42a8cd4905e69ba4dd694d9338aeee1bb7e9ab"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:18 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:07 2012 +0300"
      },
      "message": "Bluetooth: Remove most of the inline usage\n\nOnly obvious cases were left as inline, mostly oneline functions.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4f42a8cd4905e69ba4dd694d9338aeee1bb7e9ab",
      "tree": "2c9b72557fc328c74ea3819557924e8c3ccfff23",
      "parents": [
        "5325e5bb86f6dd2977f0891b9eaff57293538d50"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 11:31:23 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:07 2012 +0300"
      },
      "message": "Bluetooth: trivial: Remove empty line\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5325e5bb86f6dd2977f0891b9eaff57293538d50",
      "tree": "7d8bb3206d51d282f771b1c66dfdfe81fb6b4554",
      "parents": [
        "9b3b44604ac8e06d299718c5d0fa0b91b675ae0b"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 11:31:22 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:07 2012 +0300"
      },
      "message": "Bluetooth: Preserve L2CAP flags values\n\nPrevious callers of l2cap_build_conf_rsp in l2cap_config_req use\nflags instead of continuation flag hardcoded value. It does not change\nlogic and preserve future possible flags.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9b3b44604ac8e06d299718c5d0fa0b91b675ae0b",
      "tree": "b079fbe2b97d297f19c5d4c24560169157ac3db9",
      "parents": [
        "a6c511c636848f871f5b7aef38e25e5b894b3b48"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 11:31:20 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Use defined link key size\n\nRemove magic number with defined link key size.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a6c511c636848f871f5b7aef38e25e5b894b3b48",
      "tree": "847b421858d21575ff61c02c83e92497d97b92d5",
      "parents": [
        "38351c66e407e610283e5332b819822055db473c"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Wed May 23 12:35:46 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Rename HCI_QUIRK_NO_RESET to HCI_QUIRK_RESET_ON_CLOSE\n\nHCI_QUIRK_NO_RESET name is misleading - purpose of this quirk is to\nreset device on close instead of init, not to not reset at all.\nRename it to HCI_QUIRK_RESET_ON_CLOSE to avoid confusion.\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "38351c66e407e610283e5332b819822055db473c",
      "tree": "292d546e7f179e6214297152239f61c5418c589f",
      "parents": [
        "d660366d53119fbd988e1b1d6ea2c00358a8e688"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Tue May 22 19:00:20 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Fix trailing whitespaces in license text\n\nAs reported by checkpatch.pl\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d660366d53119fbd988e1b1d6ea2c00358a8e688",
      "tree": "437f24f80146262fc80c71635afefe770cfb65a1",
      "parents": [
        "be4aad05af0ec949a91e7bbaa55c02a954714473"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Mon May 21 13:58:22 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Remove dead int returns\n\nThese functions were returning always 0, we just make then void.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nReviewed-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "be4aad05af0ec949a91e7bbaa55c02a954714473",
      "tree": "5c7c2d7eb7a40460181cd6fafc7cd850ec744051",
      "parents": [
        "401bb1f768c842b9fbfaeb7741cc5cf17c70ffd1"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Mon May 21 13:58:21 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Remove double check for BT_CONNECTED\n\nThe same check is done just before call l2cap_streaming_send()\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nReviewed-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "401bb1f768c842b9fbfaeb7741cc5cf17c70ffd1",
      "tree": "26cc24b76bbb3fae76b446edf6709e5ed97c014e",
      "parents": [
        "ee556f662ca9e96a3cdb0d10745f9fd0cbf549af"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon May 21 15:47:46 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Silent sparse warnings\n\nSilence warnings below:\n\nnet/bluetooth/l2cap_core.c:1662:24: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:1662:27: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:1683:24: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:1683:27: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:2260:46: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:2574:33: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:2581:33: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:4556:24: warning: Using plain integer\nas NULL pointer\nnet/bluetooth/l2cap_core.c:4556:27: warning: Using plain integer\nas NULL pointer\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "ee556f662ca9e96a3cdb0d10745f9fd0cbf549af",
      "tree": "6e704c6181281e75ea1b083674b44ef1003371bf",
      "parents": [
        "d1de6d46dc7b503d77ec59c849acacadfece1da1"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Fri May 18 20:22:38 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Do not purge queue in Basic Mode\n\nchan-\u003etx_q is only initialized if we use ERTM or Streaming mode.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d1de6d46dc7b503d77ec59c849acacadfece1da1",
      "tree": "b9525369607537918a08edec77b74ac7f7395102",
      "parents": [
        "522cc2ee6e55ba49f4df338e0dfcfb989b46eb8c"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:55 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Enable ERTM by default\n\nThis enables the new receive and transmit state machines.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "522cc2ee6e55ba49f4df338e0dfcfb989b46eb8c",
      "tree": "9268f0b5059002acb16a5e00889389d0603fb491",
      "parents": [
        "273759e2c3bd69efe74799c446df69d9ea5ca418"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:54 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Remove unused ERTM control field macros\n\nNow that l2cap_ctrl is used to set up control fields, these macros are\nnot needed.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "273759e2c3bd69efe74799c446df69d9ea5ca418",
      "tree": "906675b52de1cfdc43e188b43f7d0cd7b54bfac7",
      "parents": [
        "6ea0048575089e9a714e08bc3debec4b1b9d7664"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:53 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Set txwin values for streaming mode\n\nThe transmit window values must be configured for streaming mode, even\nthough streaming mode does not have a window.  This enables use of\nextended headers when the transmit window socket option is set to 64\nor larger.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "6ea0048575089e9a714e08bc3debec4b1b9d7664",
      "tree": "fc853c598b6a4d0725e90fe589c1b6995c11b4df",
      "parents": [
        "0362520bf9d35f09c2693e14352f4b0ad07397fa"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:52 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Remove unneccesary inline\n\nLet the compiler decide if inlining is appropriate.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "0362520bf9d35f09c2693e14352f4b0ad07397fa",
      "tree": "38e56e17724f20c767866009c0d89c3639f01492",
      "parents": [
        "80909e04de4dbbe76a220ccd5f9b32d8d5a8c22c"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:51 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Simplify the ERTM ack timeout\n\nSince l2cap_send_ack can trigger extra actions like sending iframes,\ndon\u0027t call it.  Just send an RR or RNR frame if an ack needs sending.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "80909e04de4dbbe76a220ccd5f9b32d8d5a8c22c",
      "tree": "a1a287e9d6250a028e950a0b78f85b2533e29185",
      "parents": [
        "4239d16f360ce4c8a1798508dd171ebce93985ba"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:50 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Use the ERTM transmit state machine from timeout handlers\n\nDifferent states have different actions for retransmit and monitor\ntimeouts, so remove the logic for those actions from the timer handlers.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "4239d16f360ce4c8a1798508dd171ebce93985ba",
      "tree": "0f9afa1c2a3c946a4c21d136fd157f5e7b94d53c",
      "parents": [
        "c9e3d5e00408c96f82b88a8de5d54f7a1343b110"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:49 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Check rules when setting retransmit or monitor timers\n\nThe ERTM specification requires the retransmit timer to be cancelled\nwhen the monitor timer is set.  The retransmit timer cannot be set\nagain while the monitor timer is pending.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "c9e3d5e00408c96f82b88a8de5d54f7a1343b110",
      "tree": "929010c9c54992313c74edf96fcec8d7e0f9b9ea",
      "parents": [
        "fcd289df8892268ec0783588e0d7e0346fd6a1cd"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:48 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Use new header structures in l2cap_send_rr_or_rnr\n\nstruct l2cap_ctrl is now used, and the sframe is now sent directly\nrather than depending on a separate call.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "fcd289df8892268ec0783588e0d7e0346fd6a1cd",
      "tree": "67ac70f7f2de638cfe7d8506a934da968173f8ed",
      "parents": [
        "f80842a83ec224e70ebbd11a20832e71e5911b45"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:47 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Handle incoming REJ frames\n\nREJ frames are sent by the remote device to request that all frames\nafter a given sequence number be retransmitted.  These are also an\nimplicit indication that the remote device is not in a busy state and\ncan receive new iframes.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f80842a83ec224e70ebbd11a20832e71e5911b45",
      "tree": "98bf84971775e5deb4aaf647dd1d553aa201d0fc",
      "parents": [
        "63838725c6478102894cfb88feb2a9b1c331855d"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:46 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Handle SREJ requests to resend unacked frames\n\nWhen a remote device sends an SREJ, retransmit the frame with the\ncorresponding sequence number (subject to special cases with poll and\nfinal flags).  An SREJ is also an implicit indication the the remote\ndevice is not in a busy state.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "63838725c6478102894cfb88feb2a9b1c331855d",
      "tree": "a7cde0b9217c7da75d38155490c87a3ddf5447ef",
      "parents": [
        "bed68bde7ebdb591cc67921261307626c8f37936"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:45 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Reassemble all available data when retransmissions succeed.\n\nAs retransmitted packets arrive, attempt to reassemble SDUs.  If all\nrequested retransmissions have been received, acknowledge them and\ntransition back to the RECV state.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "bed68bde7ebdb591cc67921261307626c8f37936",
      "tree": "67a920542cc82703bf00fffcca6ab03e69f0dba6",
      "parents": [
        "e1fbd4c19a5c4d4f490d70e73745cf2cf0dc1955"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:44 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Send SREJ frames when packets go missing\n\nThe ERTM specification lays out three scenarios for sending SREJ\nframes to request retransmission of specific frames.  l2cap_send_srej\nrequests all frames up to a given txseq that are not already queued\nfor reassembly.  l2cap_send_srej_tail only requests the most recent\nmissing frame.  l2cap_send_srej_list resends SREJ frames for data that\nwas requested for resend but never received.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e1fbd4c19a5c4d4f490d70e73745cf2cf0dc1955",
      "tree": "64d34305d038a1cdba8bd3380987028b3ecc1471",
      "parents": [
        "d2a7ac5d5d3a0b166ac128883bd088064c029fe5"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:43 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Add implementation for retransmitting all unacked frames\n\nThis adds l2cap_ertm_resend to retransmit frames based on the sequence\nnumbers in chan-\u003eretrans_list.  If the retransmit limit is reached for\nany individual frame is reached, the connection is dropped.  skbs that\nare cloned already are copied to avoid modifying shared data (this is\nuncommon).  To retransmit all frames, l2cap_retransmit_all now builds\na list of all unacked sequence numbers and then calls\nl2cap_ertm_resend.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "d2a7ac5d5d3a0b166ac128883bd088064c029fe5",
      "tree": "b6a03c938d1ac579a5fd8f7a6095441e9c4505eb",
      "parents": [
        "e31f76337257616aca0ea15abee271513b17426c"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:42 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Add the ERTM receive state machine\n\nThis adds a top-level state machine with handlers for two receive\nstates defined in the ERTM spec, RECV and SREJ_SENT.  The reqseq value\nof the incoming frame is also validated at the top level and a\ndisconnection is forced if it is invalid.  The actions for the RECV\nand SREJ_SENT states are implemented according to the state tables in\nthe ERTM specification.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e31f76337257616aca0ea15abee271513b17426c",
      "tree": "4817376d779766ff6a581aff8127f7126ccd6ada",
      "parents": [
        "61aa4f5b9f43b21668aec51da2df3e9ed5f4226d"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:41 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Update l2cap_send_i_or_rr_or_rnr to fit the spec better\n\nThis action now exactly matches what is defined in the ERTM\nspecification, including clearing the remote busy flag and setting the\nretransmit timer rather than retransmitting frames directly.  The spec\ndoes not retransmit frames as part of this action, since\nretransmission is only triggered by REJ, SREJ, or an RR with the final\nbit set.  struct l2cap_ctrl is also used to set up header values.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "61aa4f5b9f43b21668aec51da2df3e9ed5f4226d",
      "tree": "bc0a489cee38fad2be02c8a95b480e666088b9a4",
      "parents": [
        "0a0aba42b8daba55e4d2bdfc3c8ca7d7d827b723"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:40 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Use the transmit state machine for busy state changes\n\nThis lets the transmit state machine handle local busy state changes,\nsince different actions are taken in the different transmit states.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "0a0aba42b8daba55e4d2bdfc3c8ca7d7d827b723",
      "tree": "21f27405894f84c00fba0f42199802ba5acc1025",
      "parents": [
        "f5dbb0772df3feb2bb5eda8a9f0e0acdeb25653f"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:39 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Refactor l2cap_send_ack\n\nThe function now encapsulates more of the logic to either immediately\nsend an ack if the transmit window is over 75% full, or wait for the\nack timer to expire if the transmit window is not full enough.  It is\nalso able to push out waiting iframes that can carry an\nacknowledgement.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f5dbb0772df3feb2bb5eda8a9f0e0acdeb25653f",
      "tree": "f533909d89af56e6abd9cf1a4ab95a8791162372",
      "parents": [
        "4b51dae96731c9d82f5634e75ac7ffd3b9c1b060"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:38 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Remove receive code that has been superceded\n\nThis deletes the receive code that had handlers for each frame type at\nthe top level, and then had logic to determine the receive state\nwithin each handler.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "4b51dae96731c9d82f5634e75ac7ffd3b9c1b060",
      "tree": "dc41898f921861dcbd734cf101debd68c4f6c6e8",
      "parents": [
        "cec8ab6e20a7fbdc056894ff7b3fbdbc2a82a563"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:37 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Add streaming mode receive and incoming packet classifier\n\nStreaming mode reception is fairly simple, with in-sequence frames\nbeing reassembled as they arrive.  Out-of-sequence frames are dropped,\nand also clear any partially-assembled SDUs that may exist.\n\nThe packet classifier determines if the txseq value of the incoming\npacket is expected, invalid (resulting in a disconnection), invalid\n(ignorable), duplicate, or having to do with an SREJ request that was\npreviously sent.  The rules for each classification are defined in the\nERTM specification, and consolidating these rules in one place helps\nclarify the receive state machine.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "cec8ab6e20a7fbdc056894ff7b3fbdbc2a82a563",
      "tree": "aebae7b22e15c0f8485c22fe7cf34ed872a4e54e",
      "parents": [
        "a67d7f6fca776317bb478c96f25196972c05d173"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:36 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Consolidate common receive code for ERTM and streaming mode\n\nCreates a new l2cap_data_rcv function that combines previous code from\nl2cap_ertm_data_rcv and l2cap_data_channel.  This reduces duplicate\ncode for streaming mode, and sets up a framework for the ERTM receive\nstate machine.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "a67d7f6fca776317bb478c96f25196972c05d173",
      "tree": "b4e6f2f2304673775915c23e14646bee7fa1a987",
      "parents": [
        "18a48e76640c590a14b0286c9da5fde6ac146cc2"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:35 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Refactor l2cap_send_sframe\n\nThe new implementation uses struct l2cap_ctrl to set up the sframe\nfields, and also reduces duplicate acks by canceling the ack timer\nwhenever an RR or RNR frame is sent.  sframe PDU generation is also\nsplit in to a separate function to separate it from the logic related\nto the connection state and sframe type.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "18a48e76640c590a14b0286c9da5fde6ac146cc2",
      "tree": "8ba776cf162896dab0163389d1efad6ad3b235b2",
      "parents": [
        "3733937d96f3fe4dfc3b8da43385d739e905ff41"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:34 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Refactor l2cap_ertm_send\n\nThe new implementation is aware of the new transmit state machine, and\nuses struct l2cap_ctrl to compose ERTM headers.  It also has improved\nerror handling for allocation failures, and does not send the packet\nuntil after all skb and channel data structures are updated.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "3733937d96f3fe4dfc3b8da43385d739e905ff41",
      "tree": "bb53d50b07268c0977c1c93d8bad3cca36dc196e",
      "parents": [
        "608bcc6d70850be9e3aa7c3831045304a2a65fbb"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:33 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Refactor l2cap_streaming_send\n\nThis new implementation uses struct l2cap_ctrl to compose the\nstreaming mode headers.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "608bcc6d70850be9e3aa7c3831045304a2a65fbb",
      "tree": "810e84555f4b1ffb7c097c09ae68db4fcfdbaa8a",
      "parents": [
        "b191e031b744f16116e9a546e36b13aadb8cba00"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:32 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Add a new L2CAP ERTM transmit state machine.\n\nThis implements a top-level transmit state machine with handlers for\nthe two ERTM states defined in the specification: XMIT and WAIT_F.\n\nThe state machine accepts an event and, optionally, a list of skbs to\ntransmit.  In addition to data transmission, the local busy state can\nbe modified, acks are processed, and monitor and retransmit timeouts\nare handled.  This mirrors the structure of the state tables in the\nspec.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "b191e031b744f16116e9a546e36b13aadb8cba00",
      "tree": "e78c17e642c0e9af5cbafd7d3c02a25959cad363",
      "parents": [
        "2827011f666e157f3307d55070a75e1d1110b194"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:31 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Change default state of ERTM disable flag\n\nThis is to allow for ERTM state machine replacement in the patches\nthat follow.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "2827011f666e157f3307d55070a75e1d1110b194",
      "tree": "5f1fc5b4d102a641cd1c84183440a841540fb6eb",
      "parents": [
        "9dc9affcb776b75f6d3e5d69d6e2a679407854f1"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 21:14:09 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Fix early return from l2cap_chan_del\n\nThis fixes a regression from commit\n2ead70b8390d199ca04cd35311b51f5f3676079e that is present in all\nkernels starting at v3.0.\n\nWhen L2CAP information was moved to struct l2cap_chan, a check was\nadded to l2cap_chan_del to avoid certain cleanup operations when ERTM\nor streaming mode had not yet been initialized.  The logic in the\ncheck did not take in to account that chan-\u003econf_state is set to 0 in\nl2cap_chan_ready, so l2cap_chan_del failed to cancel timers and leaked\nmemory any time the ERTM queues or lists were not empty.\n\nThis change makes sure that l2cap_chan_del only returns early if\nERTM initialization was not performed.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9dc9affcb776b75f6d3e5d69d6e2a679407854f1",
      "tree": "5ad4812b587ef142760c1b586b4d07717cb69e38",
      "parents": [
        "a8c5fb1afe0b2661a8be78e340f86e6a627f9b32"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 16:20:14 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Free allocated ERTM SREJ list if init fails\n\nIf the ERTM SREJ list is properly allocated but the retransmit list\nallocation fails, the SREJ list must be freed before returning from\nl2cap_ertm_init.  l2cap_chan_del will not clean up the SREJ list\nif l2cap_ertm_init returns a failure code.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a8c5fb1afe0b2661a8be78e340f86e6a627f9b32",
      "tree": "467a5fd94931dd7b3a41652f8714cd48d1d334c2",
      "parents": [
        "5974e4c469658696e6e0ce8951a59a61b122415a"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 17 00:36:26 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:01 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in hci_core.c\n\nFollow net subsystem rules.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5974e4c469658696e6e0ce8951a59a61b122415a",
      "tree": "f72996a8af49fc2f86be70bb4927be8f63364f68",
      "parents": [
        "807deac275cfd5b1d1d634d6aff2f9f77a843c73"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 17 00:36:25 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:01 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in hci_conn.c\n\nFollow net subsystem rules.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "807deac275cfd5b1d1d634d6aff2f9f77a843c73",
      "tree": "ad1b87a9a3081e5e6266491a93f1645ad1e8f1a6",
      "parents": [
        "b80f021f706f3578a1e80069c8e0f73b9a0ca6a7"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 17 00:36:24 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:01 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in hci_event.c\n\nFollow the net subsystem rules.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b80f021f706f3578a1e80069c8e0f73b9a0ca6a7",
      "tree": "04026260caa72a89cb010f31f9b24732c1caecb9",
      "parents": [
        "3bb3c7551c2f1083263aee8312b3db1e751ca0fb"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 17 00:36:23 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:01 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in hci_sysfs.c\n\nFollow the net subsystem rules.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3bb3c7551c2f1083263aee8312b3db1e751ca0fb",
      "tree": "0a63c65c55f4f621a983ed8140b6ac600c991b76",
      "parents": [
        "be7c2b99e9cde90e398f61121f3f45d65d5644c7"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 17 00:36:22 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:01 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in hci_sock.c\n\nFollow the net subsystem rules.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "be7c2b99e9cde90e398f61121f3f45d65d5644c7",
      "tree": "0c04a779205b07bd2053b9c3d4b6edd0703fb301",
      "parents": [
        "8ce8e2b56f36c737888d040016f103d91ecbfbad"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 17 00:36:21 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:01 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in sco.c\n\nFollow the net subsystem rules.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8ce8e2b56f36c737888d040016f103d91ecbfbad",
      "tree": "8174acf15e2f8e24c352f7d5736f54d4541ce8d9",
      "parents": [
        "f8f5701bdaf9134b1f90e5044a82c66324d2073f"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 17 00:36:20 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:01 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in mgmt.c\n\nFollow the coding style of the net subsystem.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    }
  ],
  "next": "f8f5701bdaf9134b1f90e5044a82c66324d2073f"
}
