)]}'
{
  "log": [
    {
      "commit": "d00ef24fc2923b65fdd440dc6445903e965841ac",
      "tree": "679ed038188e94ddde990e3ec1d31fc56055f9bf",
      "parents": [
        "8556edd32f01c50a3c99e44dc2c3b1252ea59605"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Jan 19 12:06:51 2011 +0530"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Jan 19 14:40:43 2011 -0200"
      },
      "message": "Bluetooth: Fix authentication request for L2CAP raw sockets\n\nWhen there is an existing connection l2cap_check_security needs to be\ncalled to ensure that the security level of the new socket is fulfilled.\nNormally l2cap_do_start takes care of this, but that function doesn\u0027t\nget called for SOCK_RAW type sockets. This patch adds the necessary\nl2cap_check_security call to the appropriate branch in l2cap_do_connect.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8556edd32f01c50a3c99e44dc2c3b1252ea59605",
      "tree": "b0e9d426b7a17ad201c782d4e0c09fbddfe81730",
      "parents": [
        "65cf686ee102b7eb0477a4bab82ff227071a0258"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Wed Jan 19 12:06:50 2011 +0530"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Jan 19 14:40:43 2011 -0200"
      },
      "message": "Bluetooth: Create a unified auth_type evaluation function\n\nThe logic for determining the needed auth_type for an L2CAP socket is\nrather complicated and has so far been duplicated in\nl2cap_check_security as well as l2cap_do_connect. Additionally the\nl2cap_check_security code was completely missing the handling of\nSOCK_RAW type sockets. This patch creates a unified function for the\nevaluation and makes l2cap_do_connect and l2cap_check_security use that\nfunction.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "4571928fc73589e9c5217cd069d2c0b4ff1818a8",
      "tree": "6269ec7fd6734029956e528da626d21bf4b170cb",
      "parents": [
        "86e09287e4f8c81831b4d4118a48597565f0d21b"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Fri Jan 14 14:59:44 2011 +0100"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Jan 19 14:40:42 2011 -0200"
      },
      "message": "Bluetooth: l2cap: fix misuse of logical operation in place of bitop\n\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCC: \"Gustavo F. Padovan\" \u003cpadovan@profusion.mobi\u003e\nCC: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "df6bd743b6f06b066c1c3ba7f2853a6e8d61468c",
      "tree": "8d55a69b4282f018c3639134eae3a9947ae6c253",
      "parents": [
        "09f921f83faa49cdea25abfb98c439c01526b89d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 14 02:26:15 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Dec 06 15:37:50 2010 -0200"
      },
      "message": "Bluetooth: Don\u0027t accept ConfigReq if we aren\u0027t in the BT_CONFIG state\n\nIf such event happens we shall reply with a Command Reject, because we are\nnot expecting any configure request.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "894718a6be69d8cfd191dc291b42be32a1e4851b",
      "tree": "47d814d0f4c9c8ac3de4ec4290422ea747ee5dd9",
      "parents": [
        "285b4e90318dcf421a00b2ac3fe8ab713f3281e3"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 01 16:58:24 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: clean up l2cap code\n\nDo not initialize static vars to zero, macros with complex values\nshall be enclosed with (), remove unneeded braces.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b78d7b4f204a6ba1901af36c95e10fded9816054",
      "tree": "7c9106a631778aee9ffdeca94e0054a5fe818412",
      "parents": [
        "eeb366564be7c311b31c70821d18a43a8a57f9bc"
      ],
      "author": {
        "name": "Anderson Lizardo",
        "email": "anderson.lizardo@openbossa.org",
        "time": "Mon Nov 29 12:15:50 2010 -0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: Fix error handling for l2cap_init()\n\ncreate_singlethread_workqueue() may fail with errors such as -ENOMEM. If\nthis happens, the return value is not set to a negative value and the\nmodule load will succeed. It will then crash on module unload because of\na destroy_workqueue() call on a NULL pointer.\n\nAdditionally, the _busy_wq workqueue is not being destroyed if any\nerrors happen on l2cap_init().\n\nSigned-off-by: Anderson Lizardo \u003canderson.lizardo@openbossa.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e0f0cb56364958223f0cb1f1b0b0eecf1b8dcb95",
      "tree": "9eb8016a9ea039e65b3120d8b5f3568031238d76",
      "parents": [
        "cc11b9c14da4ca1c545b424dae2ae8fb1ab04063"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Nov 01 18:43:53 2010 +0000"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:42 2010 -0200"
      },
      "message": "Bluetooth: Get rid of __l2cap_get_sock_by_psm()\n\nl2cap_get_sock_by_psm() was the only user of this function, so I merged\nboth into l2cap_get_sock_by_psm(). The socket lock now should be hold\noutside of l2cap_get_sock_by_psm() once we hold and release it inside the\nsame function now.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "940a9eea80946b64b96bd8af1fc71b30c602d057",
      "tree": "ceea6a628b9692f727c1c68439fbe730921d7220",
      "parents": [
        "a49184c229535ebedbb659214db2d4d1d77b7c07"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Nov 03 12:32:45 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:36 2010 -0200"
      },
      "message": "Bluetooth: timer check sk is not owned before freeing\n\nIn timer context we might delete l2cap channel used by krfcommd.\nThe check makes sure that sk is not owned. If sk is owned we\nrestart timer for HZ/5.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "a49184c229535ebedbb659214db2d4d1d77b7c07",
      "tree": "6a06bba4cf178a45d2f1ad61d91c4e3adee46cd4",
      "parents": [
        "d31dbf6e5989b2fd9a30ec5b25436e94f009d6df"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Nov 03 12:32:44 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:36 2010 -0200"
      },
      "message": "Bluetooth: Check sk is not owned before freeing l2cap_conn\n\nCheck that socket sk is not locked in user process before removing\nl2cap connection handler.\n\nlock_sock and release_sock do not hold a normal spinlock directly but\ninstead hold the owner field. This means bh_lock_sock can still execute\neven if the socket is \"locked\". More info can be found here:\nhttp://www.linuxfoundation.org/collaborate/workgroups/networking/socketlocks\n\nkrfcommd kernel thread may be preempted with l2cap tasklet which remove\nl2cap_conn structure. If krfcommd is in process of sending of RFCOMM reply\n(like \"RFCOMM UA\" reply to \"RFCOMM DISC\") then kernel crash happens.\n\n...\n[  694.175933] Unable to handle kernel NULL pointer dereference at virtual address 00000000\n[  694.184936] pgd \u003d c0004000\n[  694.187683] [00000000] *pgd\u003d00000000\n[  694.191711] Internal error: Oops: 5 [#1] PREEMPT\n[  694.196350] last sysfs file: /sys/devices/platform/hci_h4p/firmware/hci_h4p/loading\n[  694.260375] CPU: 0    Not tainted  (2.6.32.10 #1)\n[  694.265106] PC is at l2cap_sock_sendmsg+0x43c/0x73c [l2cap]\n[  694.270721] LR is at 0xd7017303\n...\n[  694.525085] Backtrace:\n[  694.527587] [\u003cbf266be0\u003e] (l2cap_sock_sendmsg+0x0/0x73c [l2cap]) from [\u003cc02f2cc8\u003e] (sock_sendmsg+0xb8/0xd8)\n[  694.537292] [\u003cc02f2c10\u003e] (sock_sendmsg+0x0/0xd8) from [\u003cc02f3044\u003e] (kernel_sendmsg+0x48/0x80)\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "4f8b691c9fb02e72359e71592098c1de3b8ec712",
      "tree": "d74bf4427c1f92b79ba84e8c8159f02b3933430a",
      "parents": [
        "bfaaeb3ed5533a2dd38e3aa9ea43efd619690aed"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Oct 18 14:25:53 2010 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Nov 09 00:56:09 2010 -0200"
      },
      "message": "Bluetooth: fix endianness conversion in L2CAP\n\nLast commit added a wrong endianness conversion. Fixing that.\n\nReported-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "bfaaeb3ed5533a2dd38e3aa9ea43efd619690aed",
      "tree": "8a7a46f99f20d8a637e1867b6309c3e6b88f47da",
      "parents": [
        "556ea928f78a390fe16ae584e6433dff304d3014"
      ],
      "author": {
        "name": "steven miao",
        "email": "realmz6@gmail.com",
        "time": "Sat Oct 16 18:29:47 2010 -0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Nov 09 00:56:00 2010 -0200"
      },
      "message": "Bluetooth: fix unaligned access to l2cap conf data\n\nIn function l2cap_get_conf_opt() and l2cap_add_conf_opt() the address of\nopt-\u003eval sometimes is not at the edge of 2-bytes/4-bytes, so 2-bytes/4 bytes\naccess will cause data misalignment exeception.  Use get_unaligned_le16/32\nand put_unaligned_le16/32 function to avoid data misalignment execption.\n\nSigned-off-by: steven miao \u003crealmz6@gmail.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "2198a10b501fd4443430cb17e065a9e859cc58c9",
      "tree": "87f3781d293da0f8f8f61615905eb7bf62b7c128",
      "parents": [
        "9941fb62762253774cc6177d0b9172ece5133fe1",
        "db5a753bf198ef7a50e17d2ff358adf37efe8648"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:43:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:43:05 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/core/dev.c\n"
    },
    {
      "commit": "d793fe8caa3911e6a1e826b45d4ee00d250cdec8",
      "tree": "7b89346a23d81e5ca5c7d57d2f51c5fc32f34f8a",
      "parents": [
        "cd07202cc8262e1669edff0d97715f3dd9260917"
      ],
      "author": {
        "name": "Nathan Holstein",
        "email": "nathan.holstein@gmail.com",
        "time": "Fri Oct 15 11:54:02 2010 -0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Oct 17 21:19:19 2010 -0200"
      },
      "message": "Bluetooth: fix oops in l2cap_connect_req\n\nIn error cases when the ACL is insecure or we fail to allocate a new\nstruct sock, we jump to the \"response\" label.  If so, \"sk\" will be\nnull and the kernel crashes.\n\nSigned-off-by: Nathan Holstein \u003cnathan.holstein@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "ab3e571564a5d8fa4923e2e858e574c931a014c7",
      "tree": "40d29b990ea779b1c68c2a72ccde93c84c0a1b0f",
      "parents": [
        "0175d629e096a5a59dde6cc91b32ac3160a44b9e"
      ],
      "author": {
        "name": "Haijun Liu",
        "email": "haijun.liu@atheros.com",
        "time": "Thu Sep 30 16:52:40 2010 +0800"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:53 2010 -0300"
      },
      "message": "Bluetooth: Update conf_state before send config_req out\n\nUpdate conf_state with L2CAP_CONF_REQ_SENT before send config_req out in\nl2cap_config_req().\n\nSigned-off-by: Haijun Liu \u003chaijun.liu@atheros.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "0175d629e096a5a59dde6cc91b32ac3160a44b9e",
      "tree": "32bcc77b1c99d42338064b4d5d5aa6ffae6c0759",
      "parents": [
        "d6b2eb2f893547d7488d31a7088d78dd77ab5995"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Sep 24 20:30:57 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:52 2010 -0300"
      },
      "message": "Bluetooth: Use the proper error value from bt_skb_send_alloc()\n\n\u0026err points to the proper error set by bt_skb_send_alloc() when it\nfails.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "aae7fe22a875a84e328469e228cba033ebbf20cb",
      "tree": "7d626dac2d97753784bd85f23c2480682c7f6745",
      "parents": [
        "8979481328dc2e14cea9f99b3562ffcf8655998e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Sep 15 14:28:43 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:52 2010 -0300"
      },
      "message": "Bluetooth: check for l2cap header in start fragment\n\nBLUETOOTH SPECIFICATION Version 4.0 [Vol 3] page 36 mentioned\n\"Note: Start Fragments always begin with the Basic L2CAP header\nof a PDU.\"\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8979481328dc2e14cea9f99b3562ffcf8655998e",
      "tree": "3d312fddecc45fc7a510011218f7af25d533466d",
      "parents": [
        "3cd01976e702ccaffb907727caff4f8789353599"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Sep 15 14:28:44 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:52 2010 -0300"
      },
      "message": "Bluetooth: check L2CAP length in first ACL fragment\n\nCurrent Bluetooth code assembles fragments of big L2CAP packets\nin l2cap_recv_acldata and then checks allowed L2CAP size in\nassemled L2CAP packet (pi-\u003eimtu \u003c skb-\u003elen).\n\nThe patch moves allowed L2CAP size check to the early stage when\nwe receive the first fragment of L2CAP packet. We do not need to\nreserve and keep L2CAP fragments for bad packets.\n\nUpdated version after comments from Mat Martineau \u003cmathewm@codeaurora.org\u003e\nand Gustavo Padovan \u003cpadovan@profusion.mobi\u003e.\n\nTrace below is received when using stress tools sending big\nfragmented L2CAP packets.\n...\n[ 1712.798492] swapper: page allocation failure. order:4, mode:0x4020\n[ 1712.804809] [\u003cc0031870\u003e] (unwind_backtrace+0x0/0xdc) from [\u003cc00a1f70\u003e]\n(__alloc_pages_nodemask+0x4)\n[ 1712.814666] [\u003cc00a1f70\u003e] (__alloc_pages_nodemask+0x47c/0x4d4) from\n[\u003cc00a1fd8\u003e] (__get_free_pages+)\n[ 1712.824645] [\u003cc00a1fd8\u003e] (__get_free_pages+0x10/0x3c) from [\u003cc026eb5c\u003e]\n(__alloc_skb+0x4c/0xfc)\n[ 1712.833465] [\u003cc026eb5c\u003e] (__alloc_skb+0x4c/0xfc) from [\u003cbf28c738\u003e]\n(l2cap_recv_acldata+0xf0/0x1f8 )\n[ 1712.843322] [\u003cbf28c738\u003e] (l2cap_recv_acldata+0xf0/0x1f8 [l2cap]) from\n[\u003cbf0094ac\u003e] (hci_rx_task+0x)\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "6fdf482bb3298267816be59d9a3dce29632382d3",
      "tree": "fdafe307f45bae2e185730db7e92553d4f946337",
      "parents": [
        "3d7d01dffec4a6757ed1e3182f01c7ef5caa2539"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Wed Sep 08 10:05:29 2010 -0700"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: Use a stream-oriented recvmsg with SOCK_STREAM L2CAP sockets.\n\nL2CAP ERTM sockets can be opened with the SOCK_STREAM socket type,\nwhich is a mandatory request for ERTM mode.\n\nHowever, these sockets still have SOCK_SEQPACKET read semantics when\nbt_sock_recvmsg() is used to pull data from the receive queue.  If the\napplication is only reading part of a frame, then the unread portion\nof the frame is discarded.  If the application requests more bytes\nthan are in the current frame, only the current frame\u0027s data is\nreturned.\n\nThis patch utilizes common code derived from RFCOMM\u0027s recvmsg()\nfunction to make L2CAP SOCK_STREAM reads behave like RFCOMM reads (and\nother SOCK_STREAM sockets in general).  The application may read one\nbyte at a time from the input stream and not lose any data, and may\nalso read across L2CAP frame boundaries.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "0fba2558cbb3fae3a09147b7d6e18a6204204e0e",
      "tree": "48f5424c4b3530a2b39f5e5bc164db194ae10ae3",
      "parents": [
        "08601469a5aac8b3453d8aca0b8f9bd8dfdae12c"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Wed Sep 08 10:05:26 2010 -0700"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: Validate PSM values in calls to connect() and bind()\n\nValid L2CAP PSMs are odd numbers, and the least significant bit of the\nmost significant byte must be 0.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "eaa71b318c5ed0cd1ac3182a533471dc5edf372d",
      "tree": "2e6b3cf97970543070334e90b4b2300b04f460d2",
      "parents": [
        "e454c844644683571617896ab2a4ce0109c1943e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Oct 04 19:28:52 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Oct 04 19:28:52 2010 -0300"
      },
      "message": "Bluetooth: Disallow to change L2CAP_OPTIONS values when connected\n\nL2CAP doesn\u0027t permit change like MTU, FCS, TxWindow values while the\nconnection is alive, we can only set that before the\nconnection/configuration process. That can lead to bugs in the L2CAP\noperation.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b0239c80fe89d5832a68a0f3121a9d5ec9fb763e",
      "tree": "e4d6731033163bb1fc990bf3b0c5bbf7924b21cd",
      "parents": [
        "fad003b6c8e3d944d4453fd569b0702ef1af82b3"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Sep 08 14:59:44 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Sep 30 12:19:35 2010 -0300"
      },
      "message": "Revert \"Bluetooth: Don\u0027t accept ConfigReq if we aren\u0027t in the BT_CONFIG state\"\n\nThis reverts commit 8cb8e6f1684be13b51f8429b15f39c140326b327.\n\nThat commit introduced a regression with the Bluetooth Profile Tuning\nSuite(PTS), Reverting this make sure that L2CAP is in a qualificable\nstate.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "ccbb84af28594e19fd4bf27ff2828c80d03b6081",
      "tree": "cfb8b361b73c1bd299f17192e964c3184850e08b",
      "parents": [
        "8183b775bc5b79b6b1e250019c9dd930554dfa94"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Aug 30 18:44:44 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Sep 30 12:19:35 2010 -0300"
      },
      "message": "Bluetooth: Simplify L2CAP Streaming mode sending\n\nAs we don\u0027t have any error control on the Streaming mode, i.e., we don\u0027t\nneed to keep a copy of the skb for later resending we don\u0027t need to\ncall skb_clone() on it.\nThen we can go one further here, and dequeue the skb before sending it,\nthat also means we don\u0027t need to look to sk-\u003esk_send_head anymore.\n\nThe patch saves memory and time when sending Streaming mode data, so\nit is good to mainline.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8183b775bc5b79b6b1e250019c9dd930554dfa94",
      "tree": "cdd7ec2b4a8d0507a4ea51e1db393f6275e0cec0",
      "parents": [
        "8c462b6047da80491b8cb6be878e8bf9313ac3e1"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Sep 01 15:17:25 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Sep 30 12:19:35 2010 -0300"
      },
      "message": "Bluetooth: fix MTU L2CAP configuration parameter\n\nWhen receiving L2CAP negative configuration response with respect\nto MTU parameter we modify wrong field. MTU here means proposed\nvalue of MTU that the remote device intends to transmit. So for local\nL2CAP socket it is pi-\u003eimtu.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8c462b6047da80491b8cb6be878e8bf9313ac3e1",
      "tree": "c7cac6b995af6126abf5ee18ba6121a4ee78436e",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Tue Aug 24 15:35:42 2010 -0700"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Sep 30 12:19:35 2010 -0300"
      },
      "message": "Bluetooth: Only enable L2CAP FCS for ERTM or streaming\n\nThis fixes a bug which caused the FCS setting to show L2CAP_FCS_CRC16\nwith L2CAP modes other than ERTM or streaming.  At present, this only\naffects the FCS value shown with getsockopt() for basic mode.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "cff70fae111efba80c27023772ce5265797fb514",
      "tree": "da5ad9fc7d6a492a70816517d5fc742712605d02",
      "parents": [
        "fa235562fbde8703aabeeedfa0772f08608d1542"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu Aug 05 15:54:23 2010 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Aug 10 07:59:11 2010 -0400"
      },
      "message": "Bluetooth: Fix incorrect setting of remote_tx_win for L2CAP ERTM\n\nremote_tx_win is intended to be set on receipt of an L2CAP\nconfiguration request.  The value is used to determine the size of the\ntransmit window on the remote side of an ERTM connection, so L2CAP\ncan stop sending frames when that remote window is full.\n\nAn incorrect remote_tx_win value will cause the stack to not fully\nutilize the tx window (performance impact), or to overfill the remote\ntx window (causing dropped frames or a disconnect).\n\nThis patch removes an extra setting of remote_tx_win when a\nconfiguration response is received.  The transmit window has a\ndifferent meaning in a response - it is an informational value\nless than or equal to the local tx_win.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "86b1b26326279299c93ddb11ab4782d3896bf84c",
      "tree": "0c3834245d1fec2fc843b6b81f3d02e437f67705",
      "parents": [
        "c4e9b56e24422e71424b24eee27c2b134a191d7b"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu Aug 05 15:54:22 2010 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Aug 10 07:59:09 2010 -0400"
      },
      "message": "Bluetooth: Fix endianness issue with L2CAP MPS configuration\n\nIncoming configuration values must be converted to native CPU order\nbefore use.  This fixes a bug where a little-endian MPS value is\ncompared to a native CPU value.  On big-endian processors, this\ncan cause ERTM and streaming mode segmentation to produce PDUs\nthat are larger than the remote stack is expecting, or that would\nproduce fragmented skbs that the current FCS code cannot handle.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "adb08edea0119f7a5484a9f6a385fbcecdf85a63",
      "tree": "32b623c88a568b6a6539adf2196f816b9ed650df",
      "parents": [
        "6340650400525a9ca8d86b1b4501cc50670dce0d"
      ],
      "author": {
        "name": "Ville Tervo",
        "email": "ville.tervo@nokia.com",
        "time": "Wed Aug 04 09:43:33 2010 +0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 04 07:25:17 2010 -0700"
      },
      "message": "Bluetooth: Check result code of L2CAP information response\n\nCheck result code of L2CAP information response. Otherwise\nit would read invalid feature mask and access invalid memory.\n\nSigned-off-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6340650400525a9ca8d86b1b4501cc50670dce0d",
      "tree": "c1b08c17d9fd9e97549ce7d723f762deba3dd768",
      "parents": [
        "28e9509b1270e5cfa8bb3c5ff51f39214aa09262"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Aug 03 23:49:29 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 04 07:23:00 2010 -0700"
      },
      "message": "Bluetooth: Don\u0027t send RFC for Basic Mode if only it is supported\n\nIf the remote side doesn\u0027t support Enhanced Retransmission Mode neither\nStreaming Mode, we shall not send the RFC option.\n\nSome devices that only supports Basic Mode do not understanding the RFC\noption. This patch fixes the regression found with these devices.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d1c4a17d58a6dfacb48935aa430aa986559a885f",
      "tree": "395fd1b32327ad6a862dd8ef9432053e8413df39",
      "parents": [
        "893ef9711286d01763f3c175385d70076d5f9546"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sun Jul 18 16:25:54 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:13 2010 -0700"
      },
      "message": "Bluetooth: Enable L2CAP Extended features by default\n\nChange the enable_ertm param to disable_ertm and default value to 0. That\nmeans that L2CAP Extended features are enabled by default now.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5d8868ff3d11e3fc5a5c07477f281a16c71714a3",
      "tree": "60f6080cb5201bfcc59d32e189b9d10575fb04d3",
      "parents": [
        "9981151086385eecc2febf4ba95a14593f834b3d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jul 16 16:18:39 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:12 2010 -0700"
      },
      "message": "Bluetooth: Add Google\u0027s copyright to L2CAP\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "dd135240e8e10295f7e7cdf347800df6e1841437",
      "tree": "65166f3ec06c982a52041d5d66853ad1dd575abe",
      "parents": [
        "ce5706bd69be6b25715ed6cd48a210b5080032bc"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jul 13 11:57:12 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:12 2010 -0700"
      },
      "message": "Bluetooth: Update L2CAP version information\n\nWe did some changes on the L2CAP configuration process and its behaviour\nis bit different now. That justifies a updated on the L2CAP version.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ce5706bd69be6b25715ed6cd48a210b5080032bc",
      "tree": "c542ca5952c691905f922869426be8d2a79f82fe",
      "parents": [
        "be60b94030339b89c2bcff18c76882f0a4c01ce6"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jul 13 11:57:11 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:11 2010 -0700"
      },
      "message": "Bluetooth: Add Copyright notice to L2CAP\n\nCopyright for the time I worked on L2CAP during the Google Summer of Code\nprogram.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "47731de789749c9ed3c54751db28fd9c9eeaf019",
      "tree": "ca955b8ed9fd7f025729c2e0ac62a1f827610144",
      "parents": [
        "89746b856c88af9e5019e84615d88e002fb54dc3"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jul 09 16:38:35 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:11 2010 -0700"
      },
      "message": "Bluetooth: Keep code under column 80\n\nPurely a cosmetic change, it doesn\u0027t change the code flow.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "89746b856c88af9e5019e84615d88e002fb54dc3",
      "tree": "943da9cb41e59aae2778733bb25022752d784995",
      "parents": [
        "2cdf096fffaa257e7449611295a38c46dc921c8b"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jul 09 16:38:34 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:11 2010 -0700"
      },
      "message": "Bluetooth: Fix bug in kzalloc allocation size\n\nProbably a typo error. We were using the wrong struct to get size.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e9aeb2ddd441f0c8699ff04c499d7213730a0f04",
      "tree": "abce4d9b29979f7aef33378744322f0074f57b73",
      "parents": [
        "963cf687e825f7a59817f145a1ea19bdc224a18f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Jul 08 20:08:18 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:11 2010 -0700"
      },
      "message": "Bluetooth: Send ConfigReq after send a ConnectionRsp\n\nThe extended L2CAP features requires that one should initiate a\nConfigReq after send the ConnectionRsp. This patch changes the behaviour\nof the configuration process of our stack.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "963cf687e825f7a59817f145a1ea19bdc224a18f",
      "tree": "ce13f66353099e348226859d976998b1452ec493",
      "parents": [
        "7a560e5c99dc5f03e2c0dbe05ed20008af5d0bcf"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Tue Jun 22 13:56:28 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:10 2010 -0700"
      },
      "message": "Bluetooth: Fix error return on L2CAP-HCI interface.\n\nL2CAP only deals with ACL links. EINVAL should be returned otherwise.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7a560e5c99dc5f03e2c0dbe05ed20008af5d0bcf",
      "tree": "0af928fa6f0d4ef6a612816036ab060f575c2eaa",
      "parents": [
        "57d3b22bf56579bb1ab2d6f5020d372c99a7afae"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Tue Jun 22 13:56:27 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:10 2010 -0700"
      },
      "message": "Bluetooth: Fix error value for wrong FCS.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "57d3b22bf56579bb1ab2d6f5020d372c99a7afae",
      "tree": "7aa61fe986b528ad82df55d58561ec22893310ba",
      "parents": [
        "bc766db2ef3700ae74bdfc88d74b771b97971a24"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Tue Jun 22 13:56:26 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:10 2010 -0700"
      },
      "message": "Bluetooth: Fix error return for l2cap_connect_rsp().\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bc766db2ef3700ae74bdfc88d74b771b97971a24",
      "tree": "0f9fcdb66a2660168e154c8ff17cbf32ac9a47e0",
      "parents": [
        "f9dd11b03c5c3cd6bdf2e503400bbc922c898974"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Tue Jun 22 13:56:25 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:10 2010 -0700"
      },
      "message": "Bluetooth: Fix error return value on sendmsg.\n\nWhen the socket is in a bad state EBADFD is more appropriate then EINVAL.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f9dd11b03c5c3cd6bdf2e503400bbc922c898974",
      "tree": "bac632bd0ee36f9bc657a7943b93e3204d61b234",
      "parents": [
        "305682e8377b0f560d4b885c169a72e6a62331e9"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Tue Jun 22 13:56:24 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:10 2010 -0700"
      },
      "message": "Bluetooth: Fix error return value on sendmsg.\n\nWhen we try to send a message bigger than the outgoing MTU value\nEMSGSIZE (message too long) should be returned.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "305682e8377b0f560d4b885c169a72e6a62331e9",
      "tree": "85b5a153b7ed621b566c27cbf4e52845833ed56d",
      "parents": [
        "8b0dc6dc827fb71efd6c9dfb5c4172b7b5c96cee"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Tue Jun 22 13:56:23 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:10 2010 -0700"
      },
      "message": "Bluetooth: Make l2cap_streaming_send() void.\n\nIt doesn\u0027t make sense to have a return value since we always set it\nto 0.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8b0dc6dc827fb71efd6c9dfb5c4172b7b5c96cee",
      "tree": "3ffbf05f365a3d606383d288d5ad553569eac6a0",
      "parents": [
        "712132eb541e4a76afad97898dc0ce6b6c0032d8"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Tue Jun 22 13:56:22 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:10 2010 -0700"
      },
      "message": "Bluetooth: Fix l2cap_sock_connect error return.\n\nReturn a proper error value if socket is already connected.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "712132eb541e4a76afad97898dc0ce6b6c0032d8",
      "tree": "5e4b44c035a02c55563265f1e8036bfb67ece9d4",
      "parents": [
        "218bb9dfd21472128f86b38ad2eab123205c2991"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 21 19:39:50 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:09 2010 -0700"
      },
      "message": "Bluetooth: Improve ERTM local busy handling\n\nNow we also check if can push skb userspace just after receive a new\nskb instead of only wait the l2cap_busy_work wake up from time to time\nto check the local busy condition.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "218bb9dfd21472128f86b38ad2eab123205c2991",
      "tree": "a380097efa336c128a81460c9f316f04f39aeadc",
      "parents": [
        "e0f66218b3a7d0bcf37ca95186123c257fda0ba5"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 21 18:53:22 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:09 2010 -0700"
      },
      "message": "Bluetooth: Add backlog queue to ERTM code\n\nbacklog queue is the canonical mechanism to avoid race conditions due\ninterrupts in bottom half context. After the socket lock is released the\nnet core take care of push all skb in its backlog queue.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e0f66218b3a7d0bcf37ca95186123c257fda0ba5",
      "tree": "3b7972c417686f3bddbe69af5fdb8c6984c513ee",
      "parents": [
        "8cb8e6f1684be13b51f8429b15f39c140326b327"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 21 18:50:49 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:09 2010 -0700"
      },
      "message": "Bluetooth: Remove the send_lock spinlock from ERTM\n\nUsing a lock to deal with the ERTM race condition - interruption with\nnew data from the hci layer - is wrong. We should use the native skb\nbacklog queue.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8cb8e6f1684be13b51f8429b15f39c140326b327",
      "tree": "aee53be69e42ade43b8678079badada7dced3ec2",
      "parents": [
        "cf6c2c0b9f47ee3cd12684b905725c8376d52135"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 14 02:26:15 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:09 2010 -0700"
      },
      "message": "Bluetooth: Don\u0027t accept ConfigReq if we aren\u0027t in the BT_CONFIG state\n\nIf such event happens we shall reply with a Command Reject, because we are\nnot expecting any configure request.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "cf6c2c0b9f47ee3cd12684b905725c8376d52135",
      "tree": "0564fbf6b00891c810d8b91dbdb33c3e97ce1ce4",
      "parents": [
        "2ba13ed678775195e8255b4e503c59d48b615bd8"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 07 20:54:45 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:09 2010 -0700"
      },
      "message": "Bluetooth: Disconnect early if mode is not supported\n\nWhen mode is mandatory we shall not send connect request and report this\nto the userspace as well.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2ba13ed678775195e8255b4e503c59d48b615bd8",
      "tree": "bcd27d8898526e2f04ed323bdac494566e2cd7ab",
      "parents": [
        "6c2ea7a8f5fea67fa20e5825401b8fce5a78dbf6"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Jun 09 16:39:05 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:08 2010 -0700"
      },
      "message": "Bluetooth: Remove check for supported mode\n\nSince now we have checks for the supported mode before on\nl2cap_info_rsp we can remove the check for it here.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6c2ea7a8f5fea67fa20e5825401b8fce5a78dbf6",
      "tree": "bfcee6513e4a073c1d45607562e4d23a9cd07463",
      "parents": [
        "625477523b4e656fbcc5ec2a8ca7a1beb39b1caf"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jun 08 20:08:49 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:08 2010 -0700"
      },
      "message": "Bluetooth: Refuse ConfigRsp with different mode\n\nIf our mode is Basic Mode we have to refuse any ConfigRsp that proposes\na different mode.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "625477523b4e656fbcc5ec2a8ca7a1beb39b1caf",
      "tree": "cd268d2f40e981ba30af2b15fc7493db4c0709f0",
      "parents": [
        "ae12d52efd492ee6634c34322302ac754ff8cde8"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jun 08 20:05:31 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:08 2010 -0700"
      },
      "message": "Bluetooth: Actively send request for Basic Mode\n\nThe Profile Tuning Suite requires that we send a RFC containing the\nBasic Mode configuration when requesting Basic Mode.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ae12d52efd492ee6634c34322302ac754ff8cde8",
      "tree": "16e9876d83e82debfaf54761eae31cd10aa8ae07",
      "parents": [
        "742e519b0db4a470008118b48f0baea6126e2122"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jun 08 19:29:00 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:08 2010 -0700"
      },
      "message": "Bluetooth: Prefer Basic Mode on receipt of ConfigReq\n\nIf we choose to use Basic Mode then we have to refuse the received mode\nand propose Basic Mode again.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "742e519b0db4a470008118b48f0baea6126e2122",
      "tree": "3ef3d25004e14a1838d95046e268900f304e7305",
      "parents": [
        "85eb53c6f719523dde9e0658823dffd2664d4d1c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jun 08 19:09:48 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:08 2010 -0700"
      },
      "message": "Bluetooth: Disconnect the channel if we don\u0027t want the proposed mode\n\nIf the device is a STATE 2 then it should disconnect the channel if the\nremote device propose a mode different from its mandatory mode.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "85eb53c6f719523dde9e0658823dffd2664d4d1c",
      "tree": "e26bfedce9df120ee6b7e939d8e690c61d2bf859",
      "parents": [
        "64988868637304330f7df20d08b965592312c531"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Jun 03 18:43:28 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:07 2010 -0700"
      },
      "message": "Bluetooth: Change the way we set ERTM mode as mandatory\n\nIf the socket type is SOCK_STREAM we set Enhanced Retransmisson Mode or\nStreaming Mode as mandatory. That means that we will close the channel\nif the other side doesn\u0027t support or request the the mandatory mode.\nBasic mode can\u0027t be set as mandatory.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "64988868637304330f7df20d08b965592312c531",
      "tree": "f58299836735fad66af1d7ff41bdbfc8553e1522",
      "parents": [
        "0e98958d4f827f814444757e0376546b462dfe6f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon May 10 14:54:14 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:07 2010 -0700"
      },
      "message": "Bluetooth: Tweaks to l2cap_send_i_or_rr_or_rnr() flow\n\nl2cap_send_sframe() already set the F-bit if we set L2CAP_CONN_SEND_FBIT\nand unset L2CAP_CONN_SEND_FBIT after send the F-bit.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0e98958d4f827f814444757e0376546b462dfe6f",
      "tree": "facae0c43c0267d432f1f06aafd14cedc1013f7e",
      "parents": [
        "9b108fc0cf4e79c34a7d5626f5c2c4c529ef6d3f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Apr 19 14:45:38 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:07 2010 -0700"
      },
      "message": "Bluetooth: Add debug output to ERTM code\n\nUse the dynamic debug to output info about ERTM protocol stuff.\nThe following script can be used to enable debug for ERTM:\n\nDEBUGFS\u003d\"/sys/kernel/debug/dynamic_debug/control\"\n\necho -n \u0027func l2cap_send_disconn_req +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_monitor_timeout +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_retrans_timeout +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_busy_work  +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_push_rx_skb +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_data_channel_iframe +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_data_channel_rrframe +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_data_channel_rejframe +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_data_channel_srejframe +p\u0027 \u003e $DEBUGFS\necho -n \u0027func l2cap_data_channel_rnrframe +p\u0027 \u003e $DEBUGFS\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9b108fc0cf4e79c34a7d5626f5c2c4c529ef6d3f",
      "tree": "4c5822c30372a735569bce8e2fdf08a148795972",
      "parents": [
        "4ea727ef9d507413f15da0de401d8a50b125649a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu May 20 16:21:53 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:07 2010 -0700"
      },
      "message": "Bluetooth: Fix ERTM error reporting to the userspace\n\nIf any error occurs during transfers we have to tell userspace that\nsomething wrong happened.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4ea727ef9d507413f15da0de401d8a50b125649a",
      "tree": "5a5eb90f1d859dcbe6c79bc8d4b14d3273816641",
      "parents": [
        "260000896750690b774d4343294ae5cbff1423e5"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Jun 03 16:34:20 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:07 2010 -0700"
      },
      "message": "Bluetooth: Fix missing retransmission action with RR(P\u003d1)\n\nThe Bluetooth SIG Profile Tuning Suite Software uses the CSA1 spec\nto run the L2CAP tests. The new 3.0 spec has a missing\nRetransmit-I-Frames action when the Remote side is Busy.\nWe still start the retransmission timer if Remote is Busy and unacked\nframes \u003e 0. We do everything we did before this change plus the\nRetransmission of I-frames.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "260000896750690b774d4343294ae5cbff1423e5",
      "tree": "696f1a945371bb3bd363dd8741eec86b22920e66",
      "parents": [
        "45d65c46acc39945219eeb3752367ee80ed82799"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue May 11 22:02:00 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:07 2010 -0700"
      },
      "message": "Bluetooth: Check packet FCS earlier\n\nThis way, if FCS is enabled and the packet is corrupted, we just drop it\nwithout read it len, which could be corrupted.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "45d65c46acc39945219eeb3752367ee80ed82799",
      "tree": "dc4c6862953a519776a492924caa000516f747a2",
      "parents": [
        "3cb123d1c03a0510d3c325bfaa971ce4df1e050d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Jun 07 19:21:30 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:07 2010 -0700"
      },
      "message": "Bluetooth: Check the tx_window size on setsockopt\n\nWe have to check if the proposed tx_window value is not greater that\nmaximum value supported.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3cb123d1c03a0510d3c325bfaa971ce4df1e050d",
      "tree": "d8287b65d2f01ebb352fce02e1046c8377582398",
      "parents": [
        "2ece3684b4037ad2394de795d67abbe412ab5e2f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 29 02:24:35 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:06 2010 -0700"
      },
      "message": "Bluetooth: Fix handle of received P-bit\n\nERTM spec mandates that after receive a P-bit we shall send an F-bit in\nresponse. This patch fixes this for retransmitted packets, on\nretransmitting we were missing to check for a pending F-bit to be sent.\nAlso we were missing some annotation to send a F-bit.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2ece3684b4037ad2394de795d67abbe412ab5e2f",
      "tree": "b06d7a5e57517068ce782864112e2de3cf4b3826",
      "parents": [
        "7fe9b298c98fdfecf3b0efb4c971b7696d091ae9"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Jun 16 17:21:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:06 2010 -0700"
      },
      "message": "Bluetooth: Update buffer_seq before retransmit frames\n\nUpdating buffer_seq first make us able to ack the last I-frame received.\nThis is also a requirement of the  Profile Tuning Suite software.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7fe9b298c98fdfecf3b0efb4c971b7696d091ae9",
      "tree": "ac8ff604a418157f2e692972bcf7f3a3a9d26bf7",
      "parents": [
        "f8df39f1810b02f877c1ba1eed8e0710019e3b48"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed May 12 18:32:04 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:06 2010 -0700"
      },
      "message": "Bluetooth: Stop ack_timer if ERTM enters in Local Busy or SREJ_SENT\n\nThe ack_timer is implemation specific, disabling it in such situation\navoids some potencial errors in the ERTM protocol.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "95ffa97827371ede501615d9bd048eb5b49e8fe1",
      "tree": "0d20d43037c0430906673f9c36981eba4294c6b5",
      "parents": [
        "c13ffa620f15cb28d18268a773464cf51550fa9f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jun 18 20:37:33 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:05 2010 -0700"
      },
      "message": "Bluetooth: Fix L2CAP control bit field corruption\n\nWhen resending an I-frame, ERTM was reusing the control bits from the last\ntime it was sent, that was causing a corruption in the new control field\ndue to it dirty fields.\n\nThis patches extracts only the SAR bits from the old field and reuse it to\nresend the packet, the others bits should be reset and receive the\nupdated value.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c13ffa620f15cb28d18268a773464cf51550fa9f",
      "tree": "f64298291240cb67270966e64977afaad7bec6f5",
      "parents": [
        "51893f88dd916efead5e24a212c907b2cd35e160"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu May 13 20:50:12 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:05 2010 -0700"
      },
      "message": "Bluetooth: Proper shutdown ERTM when closing the channel\n\nFix a crash regarding the Monitor Timeout, it was running even after the\nshutdown of the ACL connection, which doesn\u0027t make sense.\n\nThe same code also fixes another issue, before this patch L2CAP was sending\nmany Disconnections Requests while we have to send only one.\n\nThe issues are related to each other, a expired Monitor Timeout can\ntrigger a Disconnection Request and then we may have a crash if the link\nwas already deleted.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "51893f88dd916efead5e24a212c907b2cd35e160",
      "tree": "f28f257c32227f6a60f3fc347ba8b5d765db80c0",
      "parents": [
        "bfbacc11550a785caf082f3ccfcd7ecf882e09a4"
      ],
      "author": {
        "name": "Nathan Holstein",
        "email": "nathan@lampreynetworks.com",
        "time": "Wed Jun 09 15:46:25 2010 -0400"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:05 2010 -0700"
      },
      "message": "Bluetooth: Fix bug with ERTM minimum packet length\n\nERTM and streaming mode L2CAP sockets have no minimum packet length. Only\nbasic mode connections have minimum length.\n\nInstead, validate the packet containing all necessary control, FCS,\nand SAR fields.\n\nThe patch fixes the drop of valid packets with length lower than 4.\n\nSigned-off-by: Nathan Holstein \u003cngh@isomerica.net\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bfbacc11550a785caf082f3ccfcd7ecf882e09a4",
      "tree": "82ec0b4aa7003884a0dec27f944db0647fd1e028",
      "parents": [
        "6e2b6722abaa3f6042357e11f465488b7c12f94c"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Mon May 31 18:35:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:04 2010 -0700"
      },
      "message": "Bluetooth: Fix SREJ_QUEUE corruption in L2CAP\n\nSince all TxSeq values are modulo, we shall not compare them directly. We\nhave to compare their offset inside the TxWindow instead.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6e2b6722abaa3f6042357e11f465488b7c12f94c",
      "tree": "f3c7b190298f4f779bc35eb680e2306da25e06aa",
      "parents": [
        "bc1b1f8bee63966649dd5ac7d10d31a6556bf19b"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Jun 01 18:52:58 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:04 2010 -0700"
      },
      "message": "Bluetooth: Fix bug in l2cap_ertm_send() behavior\n\nThis patch makes l2cap_ertm_send() similar to the Send-Data action of\nthe ERTM spec. We shall not check for RemoteBusy or WAIT_F state\ninside l2cap_ertm_send().\n\nSuch checks were causing a bug in the retransmission logic of ERTM and\nmaking ERTM stalls until the ACL is dropped.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bc1b1f8bee63966649dd5ac7d10d31a6556bf19b",
      "tree": "5560ff18797eefa7db245f64acaa813091504dcc",
      "parents": [
        "8ff50ec04a7ecdbba6e0a5423cf6f2c5f7fc605e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue May 11 22:14:00 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:04 2010 -0700"
      },
      "message": "Bluetooth: Only check SAR bits if frame is an I-frame\n\nThe SAR bits doesn\u0027t make sense for an S-frame. It doesn\u0027t use SAR.\n\nChecking SAR for a S-frames can lead to L2CAP errors, it could close\nthe channel with an invalid packet length, since we was removing the 2\nof the of any frame that match SAR start bits, without check if it is\nan I-frame.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8ff50ec04a7ecdbba6e0a5423cf6f2c5f7fc605e",
      "tree": "49503c86fc8403d7a7dd95a5df4411ec8d3207c3",
      "parents": [
        "f6337c771126420c348b702e012262cfb5f0d56e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon May 10 19:34:11 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:04 2010 -0700"
      },
      "message": "Bluetooth: Fix bug with ERTM vars increment\n\nAll ERTM operations regarding the txWindow should be modulo 64,\notherwise we confuse the ERTM logic and connections will break.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f6337c771126420c348b702e012262cfb5f0d56e",
      "tree": "a748aab2aa766c3e22fb55de6b863c1b114da686",
      "parents": [
        "0b31c85ce78d3646ac1e90d62969e7cd8cfd8b15"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon May 10 18:32:04 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:04 2010 -0700"
      },
      "message": "Bluetooth: Fix drop of packets with invalid req_seq/tx_seq\n\nWe shall not use an unsigned var since we are expecting negatives value\nthere. Using unsigned causes ERTM connection to close due to invalid\nReqSeq numbers.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0b31c85ce78d3646ac1e90d62969e7cd8cfd8b15",
      "tree": "c1287de1bd33577b135384b5a5ef273fe3638705",
      "parents": [
        "fd059b9bd0af2e217f29d5a34e1c71039d26af8c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon May 10 14:26:11 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:04 2010 -0700"
      },
      "message": "Bluetooth: Remove L2CAP Extended Features from Kconfig\n\nThis reverts commit 84fb0a6334af0ccad3544f6972c055d90fbb9fbe which adds\nthe L2CAP Extended Features to the Kconfig, that is actually not needed.\nOne can use other mechanisms to enable L2CAP Extended Features.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "fd059b9bd0af2e217f29d5a34e1c71039d26af8c",
      "tree": "ad9a6a786381ff022ee8fb5223e4c748c2ad0e77",
      "parents": [
        "11fe883936980fe242869d671092a466cf1db3e3"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon May 10 14:22:56 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 21 10:39:04 2010 -0700"
      },
      "message": "Bluetooth: Remove max_tx and tx_window module paramenters from L2CAP\n\nWe don\u0027t need these parameters anymore since we have socket options for\nthem.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e501d0553a7580fcc6654d7f58a5f061d31d00af",
      "tree": "8f1489e92272e18cc5c222283bcbeccfe7bcecd2",
      "parents": [
        "33b665eeeb85956ccbdf31c4c31a4e2a31133c44"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Thu Jul 08 12:14:41 2010 +0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jul 08 20:35:23 2010 -0300"
      },
      "message": "Bluetooth: Check L2CAP pending status before sending connect request\n\nDue to race condition in L2CAP state machine L2CAP Connection Request\nmay be sent twice for SDP with the same source channel id. Problems\nreported connecting to Apple products, some carkit, Blackberry phones.\n\n...\n2010-06-07 21:18:03.651031 \u003c ACL data: handle 1 flags 0x02 dlen 12\n    L2CAP(s): Connect req: psm 1 scid 0x0040\n2010-06-07 21:18:03.653473 \u003e HCI Event: Number of Completed Packets (0x13) plen 5\n    handle 1 packets 1\n2010-06-07 21:18:03.653808 \u003e HCI Event: Auth Complete (0x06) plen 3\n    status 0x00 handle 1\n2010-06-07 21:18:03.653869 \u003c ACL data: handle 1 flags 0x02 dlen 12\n    L2CAP(s): Connect req: psm 1 scid 0x0040\n...\n\nPatch uses L2CAP_CONF_CONNECT_PEND flag to mark that L2CAP Connection\nRequest has been sent already.\n\nModified version of patch from Ville Tervo.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b0b05ddc04b6d45e71cd36405df512075786f1e",
      "tree": "28b1451f4d34d00d273fbdd9018c32f2cb186d2a",
      "parents": [
        "7b767cad296d17cfe071734f71a3b7b479534c8c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 11:33:10 2010 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 11:33:10 2010 +0200"
      },
      "message": "Bluetooth: Fix issues where sk_sleep() helper is needed now\n\nThere were some left-overs that used sk-\u003esk_sleep instead of the new\nsk_sleep() helper.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "844c0972427ee5f661158160aaca10b22b3dda60",
      "tree": "b4e7694efc8dbfbc88ecfcca97a2381f0144c046",
      "parents": [
        "4178ba462a3e8ab5094e69606f01d9e95f2d5ea6"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue May 04 23:16:01 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Fix spec error in the RemoteBusy Logic\n\nOn the receipt of an RR(P\u003d1) under RemoteBusy set to TRUE(on the RECV\nstate table) we have to call sendIorRRorRNR(F\u003d1) and just after set\nRemoteBusy to False. This leads to a freeze in the sending process since\nit\u0027s not allowed send data with RemoteBusy set to true and no one\ncall SendPending-I-Frames after set RemoteBusy to false(The last action\nfor that event).\n\nActually sendIorRRorRNR() calls SendPending-I-Frames but at that moment\nRemoteBusy is still True and we cannot send any frame, after, no one\ncalls SendPending-I-Frames again and the sending process stops.\n\nThe solution here is to set RemoteBusy to false inside\nSendPending-I-Frames just before call SendPending-I-Frames. That will\nmake SendPending-I-Frames able to send frames. This solution is similar\nto what RR(P\u003d0)(F\u003d0) on the RECV table and RR(P\u003d1) on the SREJ_SENT\ntable do.\n\nActually doesn\u0027t make any sense call SendPending-I-Frames if we can send\nany frame, i. e., RemoteBusy is True.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4178ba462a3e8ab5094e69606f01d9e95f2d5ea6",
      "tree": "55370bd13670fc2166c88777ee2edec90005a8bc",
      "parents": [
        "dfc909befbfe967bd7f46ef33b6969c1b7f3cf42"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:45 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Prevents buffer overflow on l2cap_ertm_reassembly_sdu()\n\nThe checks should be done before the the memcpy to avoid buffer\noverflow.\n\nReported-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "dfc909befbfe967bd7f46ef33b6969c1b7f3cf42",
      "tree": "cec8545cce920fe194a2d167467a1ca500c2616d",
      "parents": [
        "6161c0382bbab883a634d284f7367a88bbe88534"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:45 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Fix race condition on l2cap_ertm_send()\n\nl2cap_ertm_send() can be called both from user context and bottom half\ncontext. The socket locks for that contexts are different, the user\ncontext uses a mutex(which can sleep) and the second one uses a\nspinlock_bh. That creates a race condition when we have interruptions on\nboth contexts at the same time.\n\nThe better way to solve this is to add a new spinlock to lock\nl2cap_ertm_send() and the vars it access. The other solution was to defer\nl2cap_ertm_send() with a workqueue, but we the sending process already\nhas one defer on the hci layer. It\u0027s not a good idea add another one.\n\nThe patch refactor the code to create l2cap_retransmit_frames(), then we\nencapulate the lock of l2cap_ertm_send() for some call. It also changes\nl2cap_retransmit_frame() to l2cap_retransmit_one_frame() to avoid\nconfusion\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6161c0382bbab883a634d284f7367a88bbe88534",
      "tree": "86b4de3160054b0507d37a47351260e48073f579",
      "parents": [
        "1890d36bb556a27684ad29654a9898ab9a5f57ee"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Add wait_queue to wait ack of all sent packets\n\nTo guarantee that all packets we sent were received we need to wait for\ntheirs ack before shutdown the socket.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1890d36bb556a27684ad29654a9898ab9a5f57ee",
      "tree": "9ff2c7d2f2e4288fa781f9f1802def01f7c530c9",
      "parents": [
        "9b53350d3cf5b330c3261d89b5e62a2dc25c5653"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Implement Local Busy Condition handling\n\nSupports Local Busy condition handling through a waitqueue that wake ups\neach 200ms and try to push the packets to the upper layer. If it can\npush all the queue then it leaves the Local Busy state.\n\nThe patch modifies the behaviour of l2cap_ertm_reassembly_sdu() to\nsupport retry of the push operation.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9b53350d3cf5b330c3261d89b5e62a2dc25c5653",
      "tree": "085b64bd1e84023ac87b034ffddb3c48876d46fb",
      "parents": [
        "18778a63ddc83bc89bda3b119fb02eb121512a66"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Sat May 01 16:15:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Completes the I-frame tx_seq check logic on RECV\n\nAdd checks for invalid tx_seq and fixes the duplicated tx_seq check.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "18778a63ddc83bc89bda3b119fb02eb121512a66",
      "tree": "18834b5fcb2a95eef41c03afe7744ebe0040078e",
      "parents": [
        "f11d676da4059c7888efca810ab300b931736a26"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Implement missing parts of the Invalid Frame Detection\n\nThere is a plenty of situation where ERTM shall close the channel, this\ncommit treats the cases regarding Invalid Frame Detection.\nIt create one reassembly SDU function for ERTM and other for Streaming\nMode to make the Invalid Frame Detection handling less complex.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f11d676da4059c7888efca810ab300b931736a26",
      "tree": "68d4991bb0b85f803afedffe2309e1b3c46a876e",
      "parents": [
        "9a9c6a34416b3743c09c00f3d6708d9df3c21629"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Refactor l2cap_retransmit_frame()\n\nMake the code flow cleaner and changes the function to void.\nIt also fixes a potential NULL dereference with skb.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9a9c6a34416b3743c09c00f3d6708d9df3c21629",
      "tree": "1551a090ce012a53343d822c274f0705e44438b3",
      "parents": [
        "ff12fd643334071084b6145cad3793bb6c956638"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Make hci_send_acl() void\n\nhci_send_acl can\u0027t fail, so we can make it void. This patch changes\nthat and all the funcions that use hci_send_acl().\nThat change exposed a bug on sending connectionless data. We were not\nreporting the lenght send back to the user space.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ff12fd643334071084b6145cad3793bb6c956638",
      "tree": "679aae33d153d157643b9d90ae45357c0d7cbd6b",
      "parents": [
        "9b16dc6551cbde65d0ac525af3c46efab53a2c46"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed May 05 22:09:15 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Fix lockdep annotation on ERTM\n\nA spin_lock_init() call was missing. :)\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9b16dc6551cbde65d0ac525af3c46efab53a2c46",
      "tree": "6634c109c4d6de8f3b06cfd0c026d605c70c2402",
      "parents": [
        "a2e12a2a312f816d5970b0c809d43b399fbfe90c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed May 05 20:05:57 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Check if we really are in WAIT_F when F bit comes\n\nF-bit set should be processed only if we are in the WAIT_F state.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a2e12a2a312f816d5970b0c809d43b399fbfe90c",
      "tree": "6f81e31a67a07ee8b63506cfc1b85e9d3768488d",
      "parents": [
        "0301ef04b5f49a95681694fc0d75af9441faa919"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed May 05 19:58:27 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Remove unneeded control vars\n\nTrivial clean up.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0301ef04b5f49a95681694fc0d75af9441faa919",
      "tree": "df6cfa5e52b181009d3cbffe2dd7ea3e3e53ea3b",
      "parents": [
        "59203a21a56c53afeb6f45e059299e6f1437f30f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed May 05 20:56:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Remove set of SrejSaveReqSeq under receipt of REJ frame\n\nThat action is not specified by the ERTM spec, so removing it.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "59203a21a56c53afeb6f45e059299e6f1437f30f",
      "tree": "55fba6655c234256d05b38e47fe05fb24a8812d7",
      "parents": [
        "44651b85cc3a076147af5d181fc4833ef8debc59"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:51 2010 +0200"
      },
      "message": "Bluetooth: Fix errors reported by checkpatch.pl\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "44651b85cc3a076147af5d181fc4833ef8debc59",
      "tree": "e220ae53e65e37b22c2f399c69d73b14845eedbc",
      "parents": [
        "01760bdde9a92413b7fff928d08e19352bf09d82"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:51 2010 +0200"
      },
      "message": "Bluetooth: Don\u0027t set control bits to zero first\n\nWe can set the SAR bits in the control field directly.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "01760bdde9a92413b7fff928d08e19352bf09d82",
      "tree": "3bee629d9b15e71c92fbb799498f5cb0dd89ceb9",
      "parents": [
        "afefdbc4cf3b9d409d07e1e5264e7ff88bc48711"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Sat May 01 16:15:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:51 2010 +0200"
      },
      "message": "Bluetooth: Close L2CAP channel on invalid ReqSeq\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "afefdbc4cf3b9d409d07e1e5264e7ff88bc48711",
      "tree": "e3908d245e64c0b242da0e9dbec8cd278338f13c",
      "parents": [
        "0041ecfa3025d7612fdaab12b2f07c9c3c09f42f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:51 2010 +0200"
      },
      "message": "Bluetooth: Fix SDU reassembly under SREJ\n\nThe code was reusing the control var without its reinitialization.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0041ecfa3025d7612fdaab12b2f07c9c3c09f42f",
      "tree": "c0d3012f5fb96a05ed05033270a1fcf4be1c4555",
      "parents": [
        "bd3c9e255e76ae232d417e3914ca5d80ca3e9485"
      ],
      "author": {
        "name": "João Paulo Rechi Vita",
        "email": "jprvita@profusion.mobi",
        "time": "Sat May 01 16:15:42 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:51 2010 +0200"
      },
      "message": "Bluetooth: Check if mode is supported on getsockopt\n\nAdd this check to getsockopt makes possible to fail early instead of\nwaiting until listen / connect.\n\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bd3c9e255e76ae232d417e3914ca5d80ca3e9485",
      "tree": "77332e60a295c6ea813efb35b4d77e8e899f3640",
      "parents": [
        "84fb0a6334af0ccad3544f6972c055d90fbb9fbe"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:42 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:51 2010 +0200"
      },
      "message": "Bluetooth: Add SOCK_STREAM support to L2CAP\n\nif enable_ertm is true and we have SOCK_STREAM the default mode will be\nERTM, otherwise Basic Mode.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "84fb0a6334af0ccad3544f6972c055d90fbb9fbe",
      "tree": "3e6a0d03869924212d142843fb27974526154af6",
      "parents": [
        "3b1a9f3fa6ad842991538da2c3b2e29e047b131f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:42 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:51 2010 +0200"
      },
      "message": "Bluetooth: Add Kconfig option for L2CAP Extended Features\n\nThe L2CAP Extended Features are still unstable and under development,\nso we are adding them under the EXPERIMENTAL flag to get more feedback\non them. L2CAP Extended Features includes the Enhanced Retransmission\nand Streaming Modes, Frame Check Sequence (FCS), and Segmentation and\nReassemby (SAR).\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3b1a9f3fa6ad842991538da2c3b2e29e047b131f",
      "tree": "7d555cfaf3a017ded7bb1dc970b8a7caca37e348",
      "parents": [
        "812e737e29a1d559e7bfbea675fdcfcbad9f5e1f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:42 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Optimize SREJ_QUEUE append\n\nWhen the I-frame received is the expected, i.e., its tx_seq is equal to\nexpected_tx_seq and we are under a SREJ, we can just add it to the tail\nof the list. Doing that we change the complexity from O(n) to O(1).\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "812e737e29a1d559e7bfbea675fdcfcbad9f5e1f",
      "tree": "2f4a201363ae5738e3d70b5d51e8406211df51ef",
      "parents": [
        "0ee0d20855ae9271de3f6695f4cafc08ab2533bb"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:42 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Fix drop of acked packets on ERTM\n\nl2cap_drop_acked_frames() was droping not sent packets, causing them to\nbe not transmitted.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0ee0d20855ae9271de3f6695f4cafc08ab2533bb",
      "tree": "2f3c1401a15d0b73b0ae21d527161972e5c773b3",
      "parents": [
        "f6e6b16823de0aff31cb8ee8c098383e3aceec58"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:41 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Fix crash when monitor timeout expires\n\nThe code was crashing due to a invalid access to hci_conn after the\nchannel disconnect.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f6e6b16823de0aff31cb8ee8c098383e3aceec58",
      "tree": "16665dc866c3fadbed7462b73cb4efe7f2c340b6",
      "parents": [
        "68d7f0ce911e41e463c45911be031cdf6a096fe8"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:41 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Fix bug when retransmitting I-frames\n\nIf there is no frames to retransmit l2cap was crashing the kernel, now\nwe check if the queue is empty first.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "68d7f0ce911e41e463c45911be031cdf6a096fe8",
      "tree": "0434ce6c83b95913ce506fc92643349d5f58df53",
      "parents": [
        "369ba30264826f38eefc61b93688100be8adbd4d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:41 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Enable option to configure Max Transmission value via sockopt\n\nWith the sockopt extension we can set a per-channel MaxTx value.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    }
  ],
  "next": "369ba30264826f38eefc61b93688100be8adbd4d"
}
