)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "369ba30264826f38eefc61b93688100be8adbd4d",
      "tree": "8b5af23f2e629328fbe24e1636d9a6514156b699",
      "parents": [
        "803020c6fa63aa738cfda3329c9675b42023e9d2"
      ],
      "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: Add module parameter for txWindow size on L2CAP\n\nVery useful for testing purposes.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n[jprvita@profusion.mobi: improved parameter description]\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "803020c6fa63aa738cfda3329c9675b42023e9d2",
      "tree": "4fbe8adc8319193624931a2710bf5e46c541852f",
      "parents": [
        "14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902"
      ],
      "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: Change acknowledgement to use the value of txWindow\n\nNow that we can set the txWindow we need to change the acknowledgement\nprocedure to ack after each (pi-\u003etxWindow/6 + 1). The plus 1 is to avoid\nthe zero value.\nIt also renames pi-\u003enum_to_ack to a better name: pi-\u003enum_acked.\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": "14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902",
      "tree": "afd8fc766f81d1c436433ca010eb12a606538b47",
      "parents": [
        "855666cccc939d392316de17512e17a08b2fa05a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:49 2010 +0200"
      },
      "message": "Bluetooth: Add sockopt configuration for txWindow on L2CAP\n\nNow we can set/get Transmission Window size via sockopt.\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": "855666cccc939d392316de17512e17a08b2fa05a",
      "tree": "0adfe2ca41b7ef2ac332a82ef981b133049e3ce3",
      "parents": [
        "052897ca5019d9157ae09e5e84eee2a9ef5dccc6"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:49 2010 +0200"
      },
      "message": "Bluetooth: Send Ack after clear the SREJ list\n\nAs specified by Bluetooth 3.0 spec we shall send an acknowledgment using\nthe Send-Ack() after clear the SREJ list.\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": "052897ca5019d9157ae09e5e84eee2a9ef5dccc6",
      "tree": "e236a9c5b6559f31c69c9b5e6fa02dbd70294ad6",
      "parents": [
        "10467e9e9b89272b25b56688bb276d0830e9ab9a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:49 2010 +0200"
      },
      "message": "Bluetooth: Check the SDU size against the MTU value\n\nIf the SDU size is greater than the MTU something is wrong, so report\nan error.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n[jprvita@profusion.mobi: set err to appropriate errno value]\nSigned-off-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "10467e9e9b89272b25b56688bb276d0830e9ab9a",
      "tree": "d744cfac1547227a8947c1c8a554d83f0af67692",
      "parents": [
        "1c7621596d11b9c3e19eb88a818758dee4901c95"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Add le16 macro to Retransmission and Monitor Timeouts values\n\nFix a possible problem with Big Endian machines.\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": "1c7621596d11b9c3e19eb88a818758dee4901c95",
      "tree": "7eccf73c1739964e83cbc7ea5bce53fd4372a07c",
      "parents": [
        "7b1c0049be3aabc18831ada339dbcf41ba8c81fd"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Fix configuration of the MPS value\n\nWe were accepting values bigger than we can accept. This was leading\nERTM to drop packets because of wrong FCS checks.\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": "7b1c0049be3aabc18831ada339dbcf41ba8c81fd",
      "tree": "61d3e22c735d3e6e4ae3ad5d702ca6bfff846db0",
      "parents": [
        "2fb862e215e53630066c677e06d7551fa38bf235"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:39 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Read RFC conf option on a successful Conf RSP\n\nOn Enhanced Retransmission Mode and Streaming Mode a entity can send, on\na successful Conf RSP, new values for the RFC fields. For example, the\nentity can send txWindow and MPS values less than the value received on\na Conf REQ.\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": "2fb862e215e53630066c677e06d7551fa38bf235",
      "tree": "ef0452b59823d284d4cca6b36e7877cc197fd47c",
      "parents": [
        "c1b4f43be01c2a363be021485dd18cca33cfab8a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:39 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Ignore Tx Window value with Streaming mode\n\nTx Window value shall not be used with Streaming Mode and the receiver\nof the config Request shall ignore its 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"
    },
    {
      "commit": "c1b4f43be01c2a363be021485dd18cca33cfab8a",
      "tree": "3244f14f00eb6a227e52b2a8ddd7063ef0961840",
      "parents": [
        "05fbd89dd4153341717b33d9e8ae8bd29db6c1c8"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:39 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Add timer to Acknowledge I-frames\n\nWe ack I-frames on each txWindow/5 I-frames received, but if the sender\nstop to send I-frames and it\u0027s not a txWindow multiple we can leave some\nframes unacked.\nSo I added a timer to ack I-frames on this case. The timer expires in\n200ms.\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": "05fbd89dd4153341717b33d9e8ae8bd29db6c1c8",
      "tree": "7f0da4e17b3bf8e36f61d2ba748cffa6a2abc0d3",
      "parents": [
        "8abb52ee00c4b3f857269eb6b7145991bab869bf"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:39 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Finish implementation for Rec RR (P\u003d1) on ERTM\n\nNow the code handles the case under SREJ_SENT 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": "8abb52ee00c4b3f857269eb6b7145991bab869bf",
      "tree": "f7879f9c4e78e30f9ad74b59627c1e9b0ee0c05e",
      "parents": [
        "6e3a59819fac19006fe4255b87928e5a12c54532"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:38 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Remove duplicate use of __get_reqseq() macro on L2CAP\n\ntx_seq var already has the value of __get_reqseq().\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": "6e3a59819fac19006fe4255b87928e5a12c54532",
      "tree": "4eafeb1717fe678feb917f85dd2ea27e338b1956",
      "parents": [
        "99b0d4b7b09edeacf4542bced5c01239375b51a9"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:38 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:47 2010 +0200"
      },
      "message": "Bluetooth: Group the ack of I-frames into l2cap_data_channel_rrframe()\n\nIt also fix a bug: we weren\u0027t acknowledging I-frames when P\u003d1.\nNote that when F\u003d1 we are acknowledging packets before setting\nRemoteBusy to False. The spec says we should do that in the opposite\norder, but acknowledment of packets doesn\u0027t care about RemoteBusy flag\nso we can do that in the order we want.\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": "99b0d4b7b09edeacf4542bced5c01239375b51a9",
      "tree": "decc21dd55eb8189ac6fbd01e52ee3667070eb8a",
      "parents": [
        "e072745f4adb01b909bd08a0cfc8f79348f4d2c6"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:38 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:47 2010 +0200"
      },
      "message": "Bluetooth: Handle all cases of receipt of RNR-frames into L2CAP\n\nWe weren\u0027t handling the receipt under SREJ_SENT state table.\nIt also introduce l2cap_send_srejtail(). It will be used in the nexts\ncommits too.\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": "e072745f4adb01b909bd08a0cfc8f79348f4d2c6",
      "tree": "4c7edad6e6da11971c6057bacdf0943333777be6",
      "parents": [
        "73edaa9933219e25d6733b78d1e2c881025705e2"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:38 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:47 2010 +0200"
      },
      "message": "Bluetooth: Split l2cap_data_channel_sframe()\n\nCreate a function for each type fo S-frame and avoid a lot of nested\ncode.\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": "73edaa9933219e25d6733b78d1e2c881025705e2",
      "tree": "2b5167d266784b6a66a594b424b8c4baba068d20",
      "parents": [
        "f0946ccfc7da403a46b7ff7cb2e3deffac108742"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:38 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:47 2010 +0200"
      },
      "message": "Bluetooth: Add Recv RR (P\u003d0)(F\u003d0) for SREJ_SENT state on ERTM\n\nThis finishes the implementation of Recv RR (P\u003d0)(F\u003d0) for the Enhanced\nRetransmission Mode on L2CAP.\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": "f0946ccfc7da403a46b7ff7cb2e3deffac108742",
      "tree": "60cc96a3cbaceed122b7b2e9940eafe747112643",
      "parents": [
        "9e917af13d59182f95bbb5483dc0c4254dfb7944"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:37 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:47 2010 +0200"
      },
      "message": "Bluetooth: Move set of P-bit to l2cap_send_sframe()\n\nAbstract the send of of P-bit and avoids code duplication like we\ndid with the setting of 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": "9e917af13d59182f95bbb5483dc0c4254dfb7944",
      "tree": "03f3fffbce196c30e7ae456b838f5cefcb2a681f",
      "parents": [
        "36f2fd585f43199f006a3b5ff84e95815102cd31"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:37 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:47 2010 +0200"
      },
      "message": "Bluetooth: Implement SendAck() Action on ERTM.\n\nShall be used to ack received frames, It must decide type of\nacknowledgment between a RR frame, a RNR frame or transmission of\npending I-frames.\nIt also modifies l2cap_ertm_send() to report the number of frames sent.\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": "36f2fd585f43199f006a3b5ff84e95815102cd31",
      "tree": "39f854d840c8c450a51d03c32f04ac771671ecbe",
      "parents": [
        "277ffbe362823d18a17792fbd8e507010e666299"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:37 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:47 2010 +0200"
      },
      "message": "Bluetooth: Check if SDU size is greater than MTU on L2CAP\n\nAfter reassembly the SDU we need to check his size. It can\u0027t overflow\nthe MTU size.\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": "277ffbe362823d18a17792fbd8e507010e666299",
      "tree": "ae598f002d41ed2e6b734caf44a19127ef55bf43",
      "parents": [
        "1d8f5d16913d74e428950ee02fe9ff7e6391c120"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:37 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Check the minimum {I,S}-frame size into L2CAP\n\nAll packets with size fewer than the minimum specified is dropped.\nNote that the size of the l2cap basic header, FCS and SAR fields are\nalready subtracted of len at the moment of the size check.\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": "1d8f5d16913d74e428950ee02fe9ff7e6391c120",
      "tree": "57c36996209c8d21802e97b8847d266ea9a84b30",
      "parents": [
        "d5392c8f1e9faef089bb7cb66c3314da8bddd1fe"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:37 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Support case with F bit set under WAIT_F state.\n\nOn receipt of a F\u003d1 under WAIT_F state ERTM shall stop monitor timer and\nstart retransmission timer (if there are unacked 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": "d5392c8f1e9faef089bb7cb66c3314da8bddd1fe",
      "tree": "4a935a46f0bfe2b9eb6d94f1d18fa079d2e1d095",
      "parents": [
        "e8235c6bdd1c7ffbaa7eb8dcdbb46c51f1e5d72e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:36 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Implement \u0027Send IorRRorRNR\u0027 event\n\nAfter receive a RR with P bit set ERTM shall use this funcion to choose\nwhat type of frame to reply with F bit \u003d 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": "e8235c6bdd1c7ffbaa7eb8dcdbb46c51f1e5d72e",
      "tree": "ccb588d2ef6ba72164b9b43b8e540c7987ce6a1f",
      "parents": [
        "d1daa091e8612f3aab14d28b5836375fafe155e1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:36 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Use a l2cap_pinfo struct instead l2cap_pi() macro\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": "d1daa091e8612f3aab14d28b5836375fafe155e1",
      "tree": "5947832185fe76f7b6a0ff3471b36f16a86fc0e5",
      "parents": [
        "7dffe4210233a2860c3f41477c40b3252edf2b7d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:36 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Fix ACL MTU issue\n\nERTM and Streaming Modes was having problems when the ACL MTU is lower\nthan MPS. The \u0027minus 10\u0027 is to take in account the header and fcs\nlenghts.\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": "7dffe4210233a2860c3f41477c40b3252edf2b7d",
      "tree": "f86182be172eca9677d319bcd03e71b03b202a4a",
      "parents": [
        "faaebd192ec9c3febcab98149d1309199a5b886c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:36 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Fix expected_tx_seq calculation on L2CAP\n\nAll operation related to the txWindow should be modulo 64.\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": "faaebd192ec9c3febcab98149d1309199a5b886c",
      "tree": "2509dbba335bc837326dc2f25d905af6e4540290",
      "parents": [
        "c69163e9ed5048407cc84f439cbfecc53f6f7131"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:35 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:45 2010 +0200"
      },
      "message": "Bluetooth: Fix memory leak of S-frames into L2CAP\n\nl2cap_data_channel do not free the S-frame, so we free it here.\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": "c69163e9ed5048407cc84f439cbfecc53f6f7131",
      "tree": "d54406f55010dd89ae13e4462e67adceb9d3cd42",
      "parents": [
        "b9dbdbc1f4404cba2e64939c30c87d59c9796e4e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:35 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:45 2010 +0200"
      },
      "message": "Bluetooth: Move specific Basic Mode code to the right place\n\nInside \"case L2CAP_MODE_BASIC:\" we don\u0027t need to check for sk_type and\nL2CAP mode. So only the length check is fine.\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": "7ef527377b88ff05fb122a47619ea506c631c914",
      "tree": "2c2e774527d5f591b975834f43e8c6fd12fb38f2",
      "parents": [
        "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
        "1183f3838c588545592c042c0ce15015661ce7f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 21:43:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:02:06 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "477fffb082920476cc26f238d65538ccb8d601e1",
      "tree": "3e49749f9c654b09699bb872c4611f71a3ed70d4",
      "parents": [
        "761ed01b35ca32bfd4166cc3862ae80ee33e3a4b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Apr 21 23:52:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 17:03:36 2010 -0700"
      },
      "message": "bluetooth: handle l2cap_create_connless_pdu() errors\n\nl2cap_create_connless_pdu() can sometimes return ERR_PTR(-ENOMEM) or\nERR_PTR(-EFAULT).\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6503d96168f891ffa3b70ae6c9698a1a722025a0",
      "tree": "9fafcd9eb2c0b3feda0cf4c36e4167ba3028d83a",
      "parents": [
        "a1d6f3f65512cc90a636e6ec653b7bc9e2238753"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 31 22:58:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 01 17:26:01 2010 -0700"
      },
      "message": "net: check the length of the socket address passed to connect(2)\n\ncheck the length of the socket address passed to connect(2).\n\nCheck the length of the socket address passed to connect(2). If the\nlength is invalid, -EINVAL will be returned.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\nnet/bluetooth/l2cap.c | 3 ++-\nnet/bluetooth/rfcomm/sock.c | 3 ++-\nnet/bluetooth/sco.c | 3 ++-\nnet/can/bcm.c | 3 +++\nnet/ieee802154/af_ieee802154.c | 3 +++\nnet/ipv4/af_inet.c | 5 +++++\nnet/netlink/af_netlink.c | 3 +++\n7 files changed, 20 insertions(+), 3 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2c77ec83bdad17fb688557b5b3fdc36661dd1c6",
      "tree": "d213eafcc44b8c8fdc5f8c61d65acb6ef5de5e4e",
      "parents": [
        "aef7d97cc604309b66f6f45cce02cd734934cd4e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Fri Mar 19 10:26:28 2010 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Mar 21 05:49:36 2010 +0100"
      },
      "message": "Bluetooth: Fix kernel crash on L2CAP stress tests\n\nAdded very simple check that req buffer has enough space to\nfit configuration parameters. Shall be enough to reject packets\nwith configuration size more than req buffer.\n\nCrash trace below\n\n[ 6069.659393] Unable to handle kernel paging request at virtual address 02000205\n[ 6069.673034] Internal error: Oops: 805 [#1] PREEMPT\n...\n[ 6069.727172] PC is at l2cap_add_conf_opt+0x70/0xf0 [l2cap]\n[ 6069.732604] LR is at l2cap_recv_frame+0x1350/0x2e78 [l2cap]\n...\n[ 6070.030303] Backtrace:\n[ 6070.032806] [\u003cbf1c2880\u003e] (l2cap_add_conf_opt+0x0/0xf0 [l2cap]) from\n[\u003cbf1c6624\u003e] (l2cap_recv_frame+0x1350/0x2e78 [l2cap])\n[ 6070.043823]  r8:dc5d3100 r7:df2a91d6 r6:00000001 r5:df2a8000 r4:00000200\n[ 6070.050659] [\u003cbf1c52d4\u003e] (l2cap_recv_frame+0x0/0x2e78 [l2cap]) from\n[\u003cbf1c8408\u003e] (l2cap_recv_acldata+0x2bc/0x350 [l2cap])\n[ 6070.061798] [\u003cbf1c814c\u003e] (l2cap_recv_acldata+0x0/0x350 [l2cap]) from\n[\u003cbf0037a4\u003e] (hci_rx_task+0x244/0x478 [bluetooth])\n[ 6070.072631]  r6:dc647700 r5:00000001 r4:df2ab740\n[ 6070.077362] [\u003cbf003560\u003e] (hci_rx_task+0x0/0x478 [bluetooth]) from\n[\u003cc006b9fc\u003e] (tasklet_action+0x78/0xd8)\n[ 6070.087005] [\u003cc006b984\u003e] (tasklet_action+0x0/0xd8) from [\u003cc006c160\u003e]\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Gustavo F. Padovan \u003cgustavo@padovan.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "aef7d97cc604309b66f6f45cce02cd734934cd4e",
      "tree": "b21aae56f9a5de0bbabe881d597a4dc790ff97c8",
      "parents": [
        "101545f6fef4a0a3ea8daf0b5b880df2c6a92a69"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Mar 21 05:27:45 2010 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Mar 21 05:49:35 2010 +0100"
      },
      "message": "Bluetooth: Convert debug files to actually use debugfs instead of sysfs\n\nSome of the debug files ended up wrongly in sysfs, because at that point\nof time, debugfs didn\u0027t exist. Convert these files to use debugfs and\nalso seq_file. This patch converts all of these files at once and then\nremoves the exported symbol for the Bluetooth sysfs class.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "101545f6fef4a0a3ea8daf0b5b880df2c6a92a69",
      "tree": "5b4254a64db65f1958a36ec6955dbba1b71031a7",
      "parents": [
        "af98441397227a5a4f212cd48710eea72a14dbdb"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Mar 15 14:12:58 2010 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Mar 21 05:49:32 2010 +0100"
      },
      "message": "Bluetooth: Fix potential bad memory access with sysfs files\n\nWhen creating a high number of Bluetooth sockets (L2CAP, SCO\nand RFCOMM) it is possible to scribble repeatedly on arbitrary\npages of memory. Ensure that the content of these sysfs files is\nalways less than one page. Even if this means truncating. The\nfiles in question are scheduled to be moved over to debugfs in\nthe future anyway.\n\nBased on initial patches from Neil Brown and Linus Torvalds\n\nReported-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "28812fe11a21826ba4c97c6c7971a619987cd912",
      "tree": "c78daefd595989bbc660ea48d8bc2dc5750321d3",
      "parents": [
        "5fbcae57db69128c14080a7a5a42d0626bfe155c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:07 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "driver-core: Add attribute argument to class_attribute show/store\n\nPassing the attribute to the low level IO functions allows all kinds\nof cleanups, by sharing low level IO code without requiring\nan own function for every piece of data.\n\nAlso drivers can extend the attributes with own data fields\nand use that in the low level function.\n\nThis makes the class attributes the same as sysdev_class attributes\nand plain attributes.\n\nThis will allow further cleanups in drivers.\n\nFull tree sweep converting all users.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e420aba331f44de0eed6871441293a6124d566d1",
      "tree": "1a6b994bb9d3d083ed36c7212322e8159ebc5f13",
      "parents": [
        "fcafde2e6d81aa7901f9b10e6a097592f0637b79"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 23 13:07:14 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Jan 30 05:57:20 2010 -0800"
      },
      "message": "Bluetooth: Fix memory leak in L2CAP\n\nMove skb_clone after error confition check so it is not going\npotentially out of the scope.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "fcafde2e6d81aa7901f9b10e6a097592f0637b79",
      "tree": "e1f80255f43851dcd2cacd836740330dc4cfd2ff",
      "parents": [
        "b473946a0853860e13b51c28add5524741117786"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Tue Dec 22 15:58:08 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Jan 30 05:57:11 2010 -0800"
      },
      "message": "Bluetooth: Remove double free of SKB pointer in L2CAP\n\nTrivial fix for double free of SKB pointer with kfree_skb to\nmake code simplier and cleaner. Remove unused variable err.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b13f5860447a98daf0358a51fbff66154ac0663a",
      "tree": "fc4c752e4b8ab5649d421955de3de399953f12d9",
      "parents": [
        "186ee8cf0130993dea8ab8867ff1af8a148f9ae6"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Tue Dec 15 11:38:04 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 17 12:07:25 2009 -0800"
      },
      "message": "Bluetooth: Fix L2CAP locking scheme regression\n\nWhen locking was introduced the error path branch was not taken\ninto account. Error was found in sparse code checking. Kudos to\nJani Nikula.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "186ee8cf0130993dea8ab8867ff1af8a148f9ae6",
      "tree": "dd65c1c454625194b85f6c458ccf96c1a7ef062a",
      "parents": [
        "186de9a33803c7ee20d9af75c9049b50e68a3a08"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Tue Dec 15 20:13:27 2009 -0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 17 12:06:23 2009 -0800"
      },
      "message": "Bluetooth: Ack L2CAP I-frames before retransmit missing packet\n\nMoving the Ack to before l2cap_retransmit_frame() we can avoid the\ncase where txWindow is full and the packet can\u0027t be retransmited.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "186de9a33803c7ee20d9af75c9049b50e68a3a08",
      "tree": "4ec1d2f0b8c7624271cbbff21c6b8b134203574f",
      "parents": [
        "971beb83aeb2a309175682cf5683d64fd4591841"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Tue Dec 15 15:56:34 2009 -0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 17 12:04:08 2009 -0800"
      },
      "message": "Bluetooth: Fix unset of RemoteBusy flag for L2CAP\n\nRemoteBusy flag need to be unset before l2cap_ertm_send(), otherwise\nl2cap_ertm_send() will return without sending packets because it checks\nthat flag before start sending.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5fbcd3d1a07e234583e17830e8aef47282c22141",
      "tree": "412959aab8701a4b54ad1d06a4048c657f1adb3d",
      "parents": [
        "32fd63981ed453bd882f22e3e9b0ccbc11fb47e5"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Oct 05 11:35:43 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:25 2009 +0100"
      },
      "message": "Bluetooth: Add L2CAP option for max transmit value\n\nFor testing purposes it is important to modify the max transmit value.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2ab25cdd7b54473dd42dcffc9872737de2517466",
      "tree": "0410dece8d1da3238bdc006e1909237f4a714e1f",
      "parents": [
        "4ec10d9720ef78cd81d8bcc30a3238665744569f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:40 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:24 2009 +0100"
      },
      "message": "Bluetooth: Fix \u0027SendRRorRNR\u0027 to send the ReqSeq value\n\nSendRRorRNR needs to acknowledge received I-frames (actually every packet\nneeds to acknowledge received I-frames by sending the proper packet\nsequence number), so ReqSeq is set to the next I-frame number sequence to\nbe pulled by the reassembly function.\nSendRRorRNR tells the remote side about local busy conditions, it sends\na Receiver Ready frame if local busy is false or a Receiver Not Ready\nif local busy is true.\nReqSeq is the packet\u0027s field to send the number of the acknowledged\npackets.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4ec10d9720ef78cd81d8bcc30a3238665744569f",
      "tree": "a4be8b2201f9e7acac689443d10cb30a3287972f",
      "parents": [
        "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:39 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:24 2009 +0100"
      },
      "message": "Bluetooth: Implement RejActioned flag\n\nRejActioned is used to prevent retransmission when a entity is on the\nWAIT_F state, i.e., waiting for a frame with F-bit set due local busy\ncondition or a expired retransmission timer. (When these two events raise\nthey send a frame with the Poll bit set and enters in the WAIT_F state to\nwait for a frame with the Final bit set.)\nThe local entity doesn\u0027t send I-frames(the data frames) until the receipt\nof a frame with F-bit set. When that happens it also set RejActioned to false.\nRejActioned is a mandatory feature of ERTM spec.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d",
      "tree": "8e01df10e3e640c0f76b4c3f380db351543900bb",
      "parents": [
        "889a3ca466018ab68363c3168993793bc2d984f1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:38 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:23 2009 +0100"
      },
      "message": "Bluetooth: Fix sending ReqSeq on I-frames\n\nAs specified by ERTM spec an ERTM channel can acknowledge received\nI-frames(the data frames) by sending an I-frame with the proper ReqSeq\nvalue (i.e. ReqSeq is set to BufferSeq).  Until now we aren\u0027t setting the\nReqSeq value on I-frame control bits. That way we can save sending\nS-frames(Supervise frames) only to acknowledge receipt of I-frames. It\nis very helpful to the full-duplex channel.\nReqSeq is the packet sequence number sent in an acknowledgement frame to\nacknowledge receipt of frames up to (ReqSeq - 1).\nBufferSeq controls the receiver buffer, it is used to delay\nacknowledgement of new frames to not cause buffer overflow. BufferSeq\nvalue is not increased until frames are pulled by reassembly function.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "889a3ca466018ab68363c3168993793bc2d984f1",
      "tree": "c3247c246d982546eb19328efff9253a8e2b5155",
      "parents": [
        "0565c1c24af94130b891f989fa608faddfadc52c"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:37 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:23 2009 +0100"
      },
      "message": "Bluetooth: Fix unset of SrejActioned flag\n\nSrejActioned  is a flag that when set prevents local side to retransmit a\nI-frame(the data frame) already retransmitted. The local entity can\nretransmit again only when it receives a SREJ frame with the F-bit set.\nSREJ frame - Selective Reject frame  - is sent when an entity wants the\nretransmission of a specific I-frame that was lost or corrupted.\nThis bug can put ERTM in an unknown state once the entity can\u0027t\nretransmit.\nA frame with the Final bit set is expected when the local side sends a\nframe with the Poll bit set due to a local busy condition or a\nretransmission timer expired. (Receipt of P-bit shall always be replied by\na frame with the F-bit set).\npi-\u003econn_state keeps informations about many ERTM flags including\nSrejActioned.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0565c1c24af94130b891f989fa608faddfadc52c",
      "tree": "223bb84f663f3d2b21c57b264085abcf83c0f4a1",
      "parents": [
        "cde9f807f003676862178a6f28b52c7d431511ed"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:36 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:22 2009 +0100"
      },
      "message": "Bluetooth: Initialize variables and timers for both channel\u0027s sides\n\nFix ERTM\u0027s full-duplex channel to work as specified by ERTM spec. ERTM\nneeds to handle state vars, timers and counters to send and receive\nI-frames(the data frames), i.e., for both sides of data communication.\nWe initialize all of them to the default values here.\nFull-duplex channel is a mandatory feature of ERTM spec.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2bfbc072e279ff81e6b336acff612b9bc2e5281",
      "tree": "89cfe21911e1539e1b7f89d8a10d42abecba2a18",
      "parents": [
        "5c427ff9e4cc61625d48172ea082ae99e21eea6a",
        "82b3cc1a2f5e46300a9dec4a8cc8106dc20a4c23"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 00:05:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 00:05:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/can/Kconfig\n"
    },
    {
      "commit": "68ae6639b6dff117ba37f648f1611a4629abadf0",
      "tree": "2f83dd6f4858c9294687013e7ef7eff6a1888125",
      "parents": [
        "a0e55a32afc2130e5ae506755e4b8eb42a23b568"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 17 21:41:01 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Nov 16 01:31:41 2009 +0100"
      },
      "message": "Bluetooth: Fix regression with L2CAP configuration in Basic Mode\n\nBasic Mode is the default mode of operation of a L2CAP entity. In\nthis case the RFC (Retransmission and Flow Control) configuration\noption should not be used at all.\n\nNormally remote L2CAP implementation should just ignore this option,\nbut it can cause various side effects with other Bluetooth stacks\nthat are not capable of handling unknown options.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a0e55a32afc2130e5ae506755e4b8eb42a23b568",
      "tree": "721f3c543b688ced6a7f55ffffd487f0b63a406a",
      "parents": [
        "93f19c9fc8c98bb6d2e9825115989603ffd5cd1f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Tue Sep 29 01:42:23 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Nov 16 01:31:16 2009 +0100"
      },
      "message": "Bluetooth: Select Basic Mode as default for SOCK_SEQPACKET\n\nThe default mode for SOCK_SEQPACKET is Basic Mode. So when no\nmode has been specified, Basic Mode shall be used.\n\nThis is important for current application to keep working as\nexpected and not cause a regression.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c84b3268da3b85c9d8a9e504e1001a14ed829e94",
      "tree": "795b4997f5610cf2e56a57ee5b1e4c2d4ca10188",
      "parents": [
        "3f378b684453f2a028eda463ce383370545d9cc9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 20:45:52 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:18 2009 -0800"
      },
      "message": "net: check kern before calling security subsystem\n\nBefore calling capable(CAP_NET_RAW) check if this operations is on behalf\nof the kernel or on behalf of userspace.  Do not do the security check if\nit is on behalf of the kernel.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfadf853f6cd9689f79a63ca960c6f9d6665314f",
      "tree": "35418e342d9783f0974ea33ef03875aa21d2362a",
      "parents": [
        "05423b241311c9380b7280179295bac7794281b6",
        "f568a926a353d6816b3704d7367f34371df44ce7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:03:26 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:03:26 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/sh_eth.c\n"
    },
    {
      "commit": "45054dc1bf2367ccb0e7c0486037907cd9395f8b",
      "tree": "a2dbc61975f169bd841a012d159210c69024c317",
      "parents": [
        "f74c77cb1124a11acf69c98d10c0fdc22f322664"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sun Oct 18 20:28:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:36:49 2009 -0700"
      },
      "message": "bluetooth: static lock key fix\n\nWhen shutdown ppp connection, lockdep waring about non-static key\nwill happen, it is caused by the lock is not initialized properly\nat that time.\n\nFix with tuning the lock/skb_queue_head init order\n\n[   94.339261] INFO: trying to register non-static key.\n[   94.342509] the code is fine but needs lockdep annotation.\n[   94.342509] turning off the locking correctness validator.\n[   94.342509] Pid: 0, comm: swapper Not tainted 2.6.31-mm1 #2\n[   94.342509] Call Trace:\n[   94.342509]  [\u003cc0248fbe\u003e] register_lock_class+0x58/0x241\n[   94.342509]  [\u003cc024b5df\u003e] ? __lock_acquire+0xb57/0xb73\n[   94.342509]  [\u003cc024ab34\u003e] __lock_acquire+0xac/0xb73\n[   94.342509]  [\u003cc024b7fa\u003e] ? lock_release_non_nested+0x17b/0x1de\n[   94.342509]  [\u003cc024b662\u003e] lock_acquire+0x67/0x84\n[   94.342509]  [\u003cc04cd1eb\u003e] ? skb_dequeue+0x15/0x41\n[   94.342509]  [\u003cc054a857\u003e] _spin_lock_irqsave+0x2f/0x3f\n[   94.342509]  [\u003cc04cd1eb\u003e] ? skb_dequeue+0x15/0x41\n[   94.342509]  [\u003cc04cd1eb\u003e] skb_dequeue+0x15/0x41\n[   94.342509]  [\u003cc054a648\u003e] ? _read_unlock+0x1d/0x20\n[   94.342509]  [\u003cc04cd641\u003e] skb_queue_purge+0x14/0x1b\n[   94.342509]  [\u003cfab94fdc\u003e] l2cap_recv_frame+0xea1/0x115a [l2cap]\n[   94.342509]  [\u003cc024b5df\u003e] ? __lock_acquire+0xb57/0xb73\n[   94.342509]  [\u003cc0249c04\u003e] ? mark_lock+0x1e/0x1c7\n[   94.342509]  [\u003cf8364963\u003e] ? hci_rx_task+0xd2/0x1bc [bluetooth]\n[   94.342509]  [\u003cfab95346\u003e] l2cap_recv_acldata+0xb1/0x1c6 [l2cap]\n[   94.342509]  [\u003cf8364997\u003e] hci_rx_task+0x106/0x1bc [bluetooth]\n[   94.342509]  [\u003cfab95295\u003e] ? l2cap_recv_acldata+0x0/0x1c6 [l2cap]\n[   94.342509]  [\u003cc02302c4\u003e] tasklet_action+0x69/0xc1\n[   94.342509]  [\u003cc022fbef\u003e] __do_softirq+0x94/0x11e\n[   94.342509]  [\u003cc022fcaf\u003e] do_softirq+0x36/0x5a\n[   94.342509]  [\u003cc022fe14\u003e] irq_exit+0x35/0x68\n[   94.342509]  [\u003cc0204ced\u003e] do_IRQ+0x72/0x89\n[   94.342509]  [\u003cc02038ee\u003e] common_interrupt+0x2e/0x34\n[   94.342509]  [\u003cc024007b\u003e] ? pm_qos_add_requirement+0x63/0x9d\n[   94.342509]  [\u003cc038e8a5\u003e] ? acpi_idle_enter_bm+0x209/0x238\n[   94.342509]  [\u003cc049d238\u003e] cpuidle_idle_call+0x5c/0x94\n[   94.342509]  [\u003cc02023f8\u003e] cpu_idle+0x4e/0x6f\n[   94.342509]  [\u003cc0534153\u003e] rest_init+0x53/0x55\n[   94.342509]  [\u003cc0781894\u003e] start_kernel+0x2f0/0x2f5\n[   94.342509]  [\u003cc0781091\u003e] i386_start_kernel+0x91/0x96\n\nReported-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nTested-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e7430908c3ccaf71f0851050c8ccaf9ecfb3b56",
      "tree": "7a435dbbb39a1d6179e0b683cb510978bec0adb5",
      "parents": [
        "2246b2f1b43f3fbd128e72b129dcbbd3202cc592"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Wed Aug 26 04:04:03 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 26 00:12:20 2009 -0700"
      },
      "message": "Bluetooth: Add support for L2CAP \u0027Send RRorRNR\u0027 action\n\nWhen called, \u0027Send RRorRNR\u0027 should send a RNR frame if local device is\nbusy or a RR frame otherwise.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2246b2f1b43f3fbd128e72b129dcbbd3202cc592",
      "tree": "edfe82ab47829bb320c41c04289e2a01f23fba56",
      "parents": [
        "ca42a613c92d131ff02d5714419d58c36c3459f3"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Wed Aug 26 04:04:02 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 26 00:12:20 2009 -0700"
      },
      "message": "Bluetooth: Handle L2CAP case when the remote receiver is busy\n\nImplement all issues related to RemoteBusy in the RECV state table.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ca42a613c92d131ff02d5714419d58c36c3459f3",
      "tree": "b40e2f5855260ab5eafb6f15517ba327db489b0b",
      "parents": [
        "cbe86b98a6aceefe943ada1471eb52fd9ac4c504"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Wed Aug 26 04:04:01 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 26 00:12:20 2009 -0700"
      },
      "message": "Bluetooth: Acknowledge L2CAP packets when receiving RR-frames (F-bit\u003d1)\n\nImplement the Recv ReqSeqAndFBit event when a RR frame with F bit set is\nreceived.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1b7bf4edca0fdbad70c44e139f4cfebd6759de81",
      "tree": "b1440de411b2785427e8935fa4e8ae4dfd71a27b",
      "parents": [
        "e686219a64fee9be9ce438dc3f040cd71ddd168a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Aug 24 00:45:20 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 24 01:05:05 2009 -0700"
      },
      "message": "Bluetooth: Use proper *_unaligned_le{16,32} helpers for L2CAP\n\nSimplify more conversions to the right endian with the proper helpers.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e686219a64fee9be9ce438dc3f040cd71ddd168a",
      "tree": "1b72117be85dc4dd5c4656e459043d2528069760",
      "parents": [
        "9e726b17422bade75fba94e625cd35fd1353e682"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Aug 24 00:45:19 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 24 01:05:05 2009 -0700"
      },
      "message": "Bluetooth: Add locking scheme to L2CAP timeout callbacks\n\nAvoid race conditions when accessing the L2CAP socket from within the\ntimeout handlers.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ef54fd937fbd5ebaeb023818524565bd526a5f36",
      "tree": "c664288f00548b8c531ff44a0bc8c7f18542740e",
      "parents": [
        "8f17154f1f70fcc6faa31ac82164fcf7f0599f38"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:04 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 15:03:43 2009 -0700"
      },
      "message": "Bluetooth: Full support for receiving L2CAP SREJ frames\n\nSupport for receiving of SREJ frames as specified by the state table.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8f17154f1f70fcc6faa31ac82164fcf7f0599f38",
      "tree": "f210dae590f600720b974d367082c368d03eac86",
      "parents": [
        "fcc203c30d72dde82692f6b761a80e5ca5fdd8fa"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:03 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 15:01:25 2009 -0700"
      },
      "message": "Bluetooth: Add support for L2CAP SREJ exception\n\nWhen L2CAP loses an I-frame we send a SREJ frame to the transmitter side\nrequesting the lost packet. This patch implement all Recv I-frame events\non SREJ_SENT state table except the ones that deal with SendRej (the REJ\nexception at receiver side is yet not implemented).\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "fcc203c30d72dde82692f6b761a80e5ca5fdd8fa",
      "tree": "04eb154db3be85574efe74542f528efb39abf5bb",
      "parents": [
        "6840ed0770d79b9bb0800e5e026a067040ef18f5"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:02 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:59:49 2009 -0700"
      },
      "message": "Bluetooth: Add support for FCS option to L2CAP\n\nImplement CRC16 check for L2CAP packets. FCS is used by Streaming Mode and\nEnhanced Retransmission Mode and is a extra check for the packet content.\n\nUsing CRC16 is the default, L2CAP won\u0027t use FCS only when both side send\na \"No FCS\" request.\n\nInitially based on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6840ed0770d79b9bb0800e5e026a067040ef18f5",
      "tree": "7904a7bfc6bb1e57f30139cac47676bf589db7b7",
      "parents": [
        "e90bac061b17cd81bd0df30606c64f4543bf5ca0"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:01 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:57:58 2009 -0700"
      },
      "message": "Bluetooth: Enable Streaming Mode for L2CAP\n\nStreaming Mode is helpful for the Bluetooth streaming based profiles, such\nas A2DP. It doesn\u0027t have any error control or flow control.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e90bac061b17cd81bd0df30606c64f4543bf5ca0",
      "tree": "3529111fa5ba07bdd8ed9627d10d623f77416ace",
      "parents": [
        "30afb5b2aa83adf4f69e5090d48e1bb04b64c58a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:00 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:56:15 2009 -0700"
      },
      "message": "Bluetooth: Add support for Retransmission and Monitor Timers\n\nL2CAP uses retransmission and monitor timers to inquiry the other side\nabout unacked I-frames. After sending each I-frame we (re)start the\nretransmission timer. If it expires, we start a monitor timer that send a\nS-frame with P bit set and wait for S-frame with F bit set. If monitor\ntimer expires, try again, at a maximum of L2CAP_DEFAULT_MAX_TX.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "30afb5b2aa83adf4f69e5090d48e1bb04b64c58a",
      "tree": "f47506c5f02b8e1d23123cadee49f518c928afa5",
      "parents": [
        "c74e560cd0101455f1889515e1527e4c2e266113"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:25:59 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:55:20 2009 -0700"
      },
      "message": "Bluetooth: Initial support for retransmission of packets with REJ frames\n\nWhen receiving an I-frame with unexpected txSeq, receiver side start the\nrecovery procedure by sending a REJ S-frame to the transmitter side. So\nthe transmitter can re-send the lost I-frame.\n\nThis patch just adds a basic support for retransmission, it doesn\u0027t\nmean that ERTM now has full support for packet retransmission.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c74e560cd0101455f1889515e1527e4c2e266113",
      "tree": "a828b646b60578c1e90580da0d92e5d1ee7e7981",
      "parents": [
        "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:25:58 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:53:58 2009 -0700"
      },
      "message": "Bluetooth: Add support for Segmentation and Reassembly of SDUs\n\nERTM should use Segmentation and Reassembly to break down a SDU in many\nPDUs on sending data to the other side.\n\nOn sending packets we queue all \u0027segments\u0027 until end of segmentation and\njust the add them to the queue for sending. On receiving we create a new\nSKB with the SDU reassembled.\n\nInitially based on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
      "tree": "c196f2acec0fa0ace48483ec99a691b4230f53d2",
      "parents": [
        "22121fc9152ca8f25a2d790860832ccb6a414c4d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:25:57 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:53:01 2009 -0700"
      },
      "message": "Bluetooth: Add initial support for ERTM packets transfers\n\nThis patch adds support for ERTM transfers, without retransmission, with\ntxWindow up to 63 and with acknowledgement of packets received. Now the\npackets are queued before call l2cap_do_send(), so packets couldn\u0027t be\nsent at the time we call l2cap_sock_sendmsg(). They will be sent in\nan asynchronous way on later calls of l2cap_ertm_send(). Besides if an\nerror occurs on calling l2cap_do_send() we disconnect the channel.\n\nInitially based on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "22121fc9152ca8f25a2d790860832ccb6a414c4d",
      "tree": "03fcc5bdbdae77838f9aff9ce0f6e43895fd36d7",
      "parents": [
        "f2fcfcd670257236ebf2088bbdf26f6a8ef459fe"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Jul 23 10:27:23 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:50:07 2009 -0700"
      },
      "message": "Bluetooth: Create separate l2cap_send_disconn_req() function\n\nThe code for sending a disconnect request was repeated several times\nwithin L2CAP source code. So move this into its own function.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f2fcfcd670257236ebf2088bbdf26f6a8ef459fe",
      "tree": "5bc6061e3b684ae545b24e2919ab43b711e04c4d",
      "parents": [
        "65c7c4918450f8c4545ccb02a9c7a3d77e073535"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Jul 04 15:06:24 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:50:07 2009 -0700"
      },
      "message": "Bluetooth: Add configuration support for ERTM and Streaming mode\n\nAdd support to config_req and config_rsp to configure ERTM and Streaming\nmode. If the remote device specifies ERTM or Streaming mode, then the\nsame mode is proposed. Otherwise ERTM or Basic mode is used. And in case\nof a state 2 device, the remote device should propose the same mode. If\nnot, then the channel gets disconnected.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "65c7c4918450f8c4545ccb02a9c7a3d77e073535",
      "tree": "ceacb79cdf46b74bad8429dd06d32ba96f9c31f9",
      "parents": [
        "c6b03cf986eab00e20d0dbc852b233bb83472138"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 02 23:07:53 2009 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:50:07 2009 -0700"
      },
      "message": "Bluetooth: Add L2CAP RFC option if ERTM is enabled\n\nWhen trying to establish a connection with Enhanced Retransmission mode\nenabled, the RFC option needs to be added to the configuration.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    }
  ],
  "next": "c6b03cf986eab00e20d0dbc852b233bb83472138"
}
