)]}'
{
  "log": [
    {
      "commit": "bb400801c2f40bbd9a688818323ad09abfc4e581",
      "tree": "bf23baef0cdc7590b73a53e6b1e88565ba455cf1",
      "parents": [
        "130aa61a77b8518f1ea618e1b7d214d60b405f10",
        "611b30f74b5d8ca036a9923b3bf6e0ee10a21a53"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 11 05:47:43 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 11 05:47:43 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "05f77f85f47e30a53f7971b687f3b0250e42f665",
      "tree": "798b920ff7b1959c43006e7c5c4462acafd8233e",
      "parents": [
        "963267bc5d4de4a0da104a64300375d186575332"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 16:16:56 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 16:16:56 2009 -0700"
      },
      "message": "bluetooth: Kill skb_frags_no(), unused.\n\nFurthermore, it twiddles with the details of SKB list handling\ndirectly, which we\u0027re trying to eliminate.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "611b30f74b5d8ca036a9923b3bf6e0ee10a21a53",
      "tree": "75da131d873d19c2ee40dd6b05bf094d5afed2c1",
      "parents": [
        "092b85853b161a5ca285c429faf1cf2ff4318a01"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:41:38 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:01 2009 +0200"
      },
      "message": "Bluetooth: Add native RFKILL soft-switch support for all devices\n\nWith the re-write of the RFKILL subsystem it is now possible to easily\nintegrate RFKILL soft-switch support into the Bluetooth subsystem. All\nBluetooth devices will now get automatically RFKILL support.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b4324b5dc5b62ba76372e1bf8927230cf744df66",
      "tree": "0827bb177760bd2bdac41fbf6466eb1c825b9d88",
      "parents": [
        "47ec1dcd696d56a7c396e5838516a566ecd4b03d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Jun 07 18:06:51 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:01 2009 +0200"
      },
      "message": "Bluetooth: Remove pointless endian conversion helpers\n\nThe Bluetooth source uses some endian conversion helpers, that in the end\ntranslate to kernel standard routines. So remove this obfuscation since it\nis fully pointless.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "47ec1dcd696d56a7c396e5838516a566ecd4b03d",
      "tree": "bd730bf14a5f685c8fad4f84fe0aa434a960f06c",
      "parents": [
        "af05b30bcb65da3ed488af54ee92e96bebe0be5e"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 02 18:57:55 2009 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:00 2009 +0200"
      },
      "message": "Bluetooth: Add basic constants for L2CAP ERTM support and use them\n\nThis adds the basic constants required to add support for L2CAP Enhanced\nRetransmission feature.\n\nBased on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "589d27464846c7cb758f93d9ee380c8ff05a161c",
      "tree": "cca78e805ba371fb53043ff9f0ceed5c02c25184",
      "parents": [
        "8db4dc46dcff7568896aa1eae4bd07620ce3dd93"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Apr 20 01:31:07 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:00 2009 +0200"
      },
      "message": "Bluetooth: Use macro for L2CAP hint mask on receiving config request\n\nUsing the L2CAP_CONF_HINT macro is easier to understand than using a\nhardcoded 0x80 value.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8db4dc46dcff7568896aa1eae4bd07620ce3dd93",
      "tree": "32b92a182971618462f5997c156fa953cd9049cc",
      "parents": [
        "a1c1db392090bd280d1c3e2ed52ef682746ee332"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Apr 20 01:31:05 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:49:59 2009 +0200"
      },
      "message": "Bluetooth: Use macros for L2CAP channel identifiers\n\nUse macros instead of hardcoded numbers to make the L2CAP source code\nmore readable.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a67e899cf38ae542d1a028ccd021f9189f76fb74",
      "tree": "d0bb79ccbdd5737745e99acbc569605bc74bc446",
      "parents": [
        "9f722c0978b04acba209f8ca1896ad05814bc3a3"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 02 18:24:06 2009 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 04 14:29:02 2009 -0700"
      },
      "message": "Bluetooth: Fix issue with sysfs handling for connections\n\nDue to a semantic changes in flush_workqueue() the current approach of\nsynchronizing the sysfs handling for connections doesn\u0027t work anymore. The\nwhole approach is actually fully broken and based on assumptions that are\nno longer valid.\n\nWith the introduction of Simple Pairing support, the creation of low-level\nACL links got changed. This change invalidates the reason why in the past\ntwo independent work queues have been used for adding/removing sysfs\ndevices. The adding of the actual sysfs device is now postponed until the\nhost controller successfully assigns an unique handle to that link. So\nthe real synchronization happens inside the controller and not the host.\n\nThe only left-over problem is that some internals of the sysfs device\nhandling are not initialized ahead of time. This leaves potential access\nto invalid data and can cause various NULL pointer dereferences. To fix\nthis a new function makes sure that all sysfs details are initialized\nwhen an connection attempt is made. The actual sysfs device is only\nregistered when the connection has been successfully established. To\navoid a race condition with the registration, the check if a device is\nregistered has been moved into the removal work.\n\nAs an extra protection two flush_work() calls are left in place to\nmake sure a previous add/del work has been completed first.\n\nBased on a report by Marc Pignat \u003cmarc.pignat@hevs.ch\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nTested-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nTested-by: Roger Quadros \u003cext-roger.quadros@nokia.com\u003e\nTested-by: Marc Pignat \u003cmarc.pignat@hevs.ch\u003e\n"
    },
    {
      "commit": "052b30b0a8eec8db5b18ad49effdf2a9ba4c1e1a",
      "tree": "a7e772ecb7b13ef1d67e75e62ae00bb68cdf398c",
      "parents": [
        "f3784d834c71689336fa272df420b45345cb6b84"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Apr 26 20:01:22 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Apr 28 09:31:38 2009 -0700"
      },
      "message": "Bluetooth: Add different pairing timeout for Legacy Pairing\n\nThe Bluetooth stack uses a reference counting for all established ACL\nlinks and if no user (L2CAP connection) is present, the link will be\nterminated to save power. The problem part is the dedicated pairing\nwhen using Legacy Pairing (Bluetooth 2.0 and before). At that point\nno user is present and pairing attempts will be disconnected within\n10 seconds or less. In previous kernel version this was not a problem\nsince the disconnect timeout wasn\u0027t triggered on incoming connections\nfor the first time. However this caused issues with broken host stacks\nthat kept the connections around after dedicated pairing. When the\nsupport for Simple Pairing got added, the link establishment procedure\nneeded to be changed and now causes issues when using Legacy Pairing\n\nWhen using Simple Pairing it is possible to do a proper reference\ncounting of ACL link users. With Legacy Pairing this is not possible\nsince the specification is unclear in some areas and too many broken\nBluetooth devices have already been deployed. So instead of trying to\ndeal with all the broken devices, a special pairing timeout will be\nintroduced that increases the timeout to 60 seconds when pairing is\ntriggered.\n\nIf a broken devices now puts the stack into an unforeseen state, the\nworst that happens is the disconnect timeout triggers after 120 seconds\ninstead of 4 seconds. This allows successful pairings with legacy and\nbroken devices now.\n\nBased on a report by Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f3784d834c71689336fa272df420b45345cb6b84",
      "tree": "bfed4c21b3b3360bab0eb8123595e911adfbfdcf",
      "parents": [
        "bf368e4e70cd4e0f880923c44e95a4273d725ab4"
      ],
      "author": {
        "name": "Roger Quadros",
        "email": "ext-roger.quadros@nokia.com",
        "time": "Thu Apr 23 14:50:54 2009 +0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Apr 28 09:31:38 2009 -0700"
      },
      "message": "Bluetooth: Ensure that HCI sysfs add/del is preempt safe\n\nUse a different work_struct variables for add_conn() and del_conn() and\nuse single work queue instead of two for adding and deleting connections.\n\nIt eliminates the following error on a preemptible kernel:\n\n[  204.358032] Unable to handle kernel NULL pointer dereference at virtual address 0000000c\n[  204.370697] pgd \u003d c0004000\n[  204.373443] [0000000c] *pgd\u003d00000000\n[  204.378601] Internal error: Oops: 17 [#1] PREEMPT\n[  204.383361] Modules linked in: vfat fat rfcomm sco l2cap sd_mod scsi_mod iphb pvr2d drm omaplfb ps\n[  204.438537] CPU: 0    Not tainted  (2.6.28-maemo2 #1)\n[  204.443664] PC is at klist_put+0x2c/0xb4\n[  204.447601] LR is at klist_put+0x18/0xb4\n[  204.451568] pc : [\u003cc0270f08\u003e]    lr : [\u003cc0270ef4\u003e]    psr: a0000113\n[  204.451568] sp : cf1b3f10  ip : cf1b3f10  fp : cf1b3f2c\n[  204.463104] r10: 00000000  r9 : 00000000  r8 : bf08029c\n[  204.468353] r7 : c7869200  r6 : cfbe2690  r5 : c78692c8  r4 : 00000001\n[  204.474945] r3 : 00000001  r2 : cf1b2000  r1 : 00000001  r0 : 00000000\n[  204.481506] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM Segment kernel\n[  204.488861] Control: 10c5387d  Table: 887fc018  DAC: 00000017\n[  204.494628] Process btdelconn (pid: 515, stack limit \u003d 0xcf1b22e0)\n\nSigned-off-by: Roger Quadros \u003cext-roger.quadros@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2950f21acb0f6b8fcd964485c2ebf1e06545ac20",
      "tree": "a38b8c5a78849b9c88df24abe51d4e9c3a35424a",
      "parents": [
        "f29972de8e7476706ab3c01304a505e7c95d9040"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Feb 12 14:02:50 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:43 2009 +0100"
      },
      "message": "Bluetooth: Ask upper layers for HCI disconnect reason\n\nSome of the qualification tests demand that in case of failures in L2CAP\nthe HCI disconnect should indicate a reason why L2CAP fails. This is a\nbluntly layer violation since multiple L2CAP connections could be using\nthe same ACL and thus forcing a disconnect reason is not a good idea.\n\nTo comply with the Bluetooth test specification, the disconnect reason\nis now stored in the L2CAP connection structure and every time a new\nL2CAP channel is added it will set back to its default. So only in the\ncase where the L2CAP channel with the disconnect reason is really the\nlast one, it will propagated to the HCI layer.\n\nThe HCI layer has been extended with a disconnect indication that allows\nit to ask upper layers for a disconnect reason. The upper layer must not\nsupport this callback and in that case it will nicely default to the\nexisting behavior. If an upper layer like L2CAP can provide a disconnect\nreason that one will be used to disconnect the ACL or SCO link.\n\nNo modification to the ACL disconnect timeout have been made. So in case\nof Linux to Linux connection the initiator will disconnect the ACL link\nbefore the acceptor side can signal the specific disconnect reason. That\nis perfectly fine since Linux doesn\u0027t make use of this value anyway. The\nL2CAP layer has a perfect valid error code for rejecting connection due\nto a security violation. It is unclear why the Bluetooth specification\ninsists on having specific HCI disconnect reason.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f29972de8e7476706ab3c01304a505e7c95d9040",
      "tree": "966729f6b80d0e149b0ece4367d27f52306cc8cb",
      "parents": [
        "e1027a7c69700301d14db03d2e049ee60c4f92df"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Feb 12 05:07:45 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:42 2009 +0100"
      },
      "message": "Bluetooth: Add CID field to L2CAP socket address structure\n\nIn preparation for L2CAP fixed channel support, the CID value of a\nL2CAP connection needs to be accessible via the socket interface. The\nCID is the connection identifier and exists as source and destination\nvalue. So extend the L2CAP socket address structure with this field and\nchange getsockname() and getpeername() to fill it in.\n\nThe bind() and connect() functions have been modified to handle L2CAP\nsocket address structures of variable sizes. This makes them future\nproof if additional fields need to be added.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e1027a7c69700301d14db03d2e049ee60c4f92df",
      "tree": "d2dc9bc993deec30c8e9a797592458286e89e31b",
      "parents": [
        "435fef20acfc48f46476abad55b0cd3aa47b8365"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 09 09:18:02 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:42 2009 +0100"
      },
      "message": "Bluetooth: Request L2CAP fixed channel list if available\n\nIf the extended features mask indicates support for fixed channels,\nrequest the list of available fixed channels. This also enables the\nfixed channel features bit so remote implementations can request\ninformation about it. Currently only the signal channel will be\nlisted.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "435fef20acfc48f46476abad55b0cd3aa47b8365",
      "tree": "8871de70ce8fedb293683b73d56d09582318ced0",
      "parents": [
        "6a8d3010b313d99adbb28f1826fac0234395bb26"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 09 03:55:28 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:41 2009 +0100"
      },
      "message": "Bluetooth: Don\u0027t enforce authentication for L2CAP PSM 1 and 3\n\nThe recommendation for the L2CAP PSM 1 (SDP) is to not use any kind\nof authentication or encryption. So don\u0027t trigger authentication\nfor incoming and outgoing SDP connections.\n\nFor L2CAP PSM 3 (RFCOMM) there is no clear requirement, but with\nBluetooth 2.1 the initiator is required to enable authentication\nand encryption first and this gets enforced. So there is no need\nto trigger an additional authentication step. The RFCOMM service\nsecurity will make sure that a secure enough link key is present.\n\nWhen the encryption gets enabled after the SDP connection setup,\nthen switch the security level from SDP to low security.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6a8d3010b313d99adbb28f1826fac0234395bb26",
      "tree": "e116cd7033e05e0e59b225484991e2a27188fc3e",
      "parents": [
        "984947dc64f82bc6cafa4d84ba1a139718f634a8"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 06 23:56:36 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:41 2009 +0100"
      },
      "message": "Bluetooth: Fix double L2CAP connection request\n\nIf the remote L2CAP server uses authentication pending stage and\nencryption is enabled it can happen that a L2CAP connection request is\nsent twice due to a race condition in the connection state machine.\n\nWhen the remote side indicates any kind of connection pending, then\ntrack this state and skip sending of L2CAP commands for this period.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "984947dc64f82bc6cafa4d84ba1a139718f634a8",
      "tree": "f85e4b260034f5b5a20af7a63900ee7de06fa7ad",
      "parents": [
        "657e17b03c80bec817975984d221bef716f83558"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 06 23:35:19 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:41 2009 +0100"
      },
      "message": "Bluetooth: Fix race condition with L2CAP information request\n\nWhen two L2CAP connections are requested quickly after the ACL link has\nbeen established there exists a window for a race condition where a\nconnection request is sent before the information response has been\nreceived. Any connection request should only be sent after an exchange\nof the extended features mask has been finished.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0684e5f9fb9e3f7e168ab831dfca693bcb44805b",
      "tree": "1fb1315dff64ef2ebaa24729988b2c3b7c77d578",
      "parents": [
        "efc7688b557dd1be10eead7399b315efcb1dbc74"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 09 02:48:38 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:40 2009 +0100"
      },
      "message": "Bluetooth: Use general bonding whenever possible\n\nWhen receiving incoming connection to specific services, always use\ngeneral bonding. This ensures that the link key gets stored and can be\nused for further authentications.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "efc7688b557dd1be10eead7399b315efcb1dbc74",
      "tree": "f51d32d047bbf27a106db679292c10a81b339836",
      "parents": [
        "255c76014af74165428e7aa16414b857e2bdccf2"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 06 09:13:37 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:37 2009 +0100"
      },
      "message": "Bluetooth: Add SCO fallback for eSCO connection attempts\n\nWhen attempting to setup eSCO connections it can happen that some link\nmanager implementations fail to properly negotiate the eSCO parameters\nand thus fail the eSCO setup. Normally the link manager is responsible\nfor the negotiation of the parameters and actually fallback to SCO if\nno agreement can be reached. In cases where the link manager is just too\nstupid, then at least try to establish a SCO link if eSCO fails.\n\nFor the Bluetooth devices with EDR support this includes handling packet\ntypes of EDR basebands. This is particular tricky since for the EDR the\nlogic of enabling/disabling one specific packet type is turned around.\nThis fix contains an extra bitmask to disable eSCO EDR packet when\ntrying to fallback to a SCO connection.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c84b83076b5062f59b6167cdda90d9e5124aa71",
      "tree": "7a47b0b80be4222494b272846ad5233f0d04c6e6",
      "parents": [
        "9f2c8a03fbb3048cf38b158f87aa0c3c09bca084"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jan 16 08:17:51 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:33 2009 +0100"
      },
      "message": "Bluetooth: Pause RFCOMM TX when encryption drops\n\nA role switch with devices following the Bluetooth pre-2.1 standards\nor without Encryption Pause and Resume support is not possible if\nencryption is enabled. Most newer headsets require the role switch,\nbut also require that the connection is encrypted.\n\nFor connections with a high security mode setting, the link will be\nimmediately dropped. When the connection uses medium security mode\nsetting, then a grace period is introduced where the TX is halted and\nthe remote device gets a change to re-enable encryption after the\nrole switch. If not re-enabled the link will be dropped.\n\nBased on initial work by Ville Tervo \u003cville.tervo@nokia.com\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9f2c8a03fbb3048cf38b158f87aa0c3c09bca084",
      "tree": "b8e81e5a8e3f0b8b8a15c06f1cf36e8aa02644e2",
      "parents": [
        "2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:40 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:26 2009 +0100"
      },
      "message": "Bluetooth: Replace RFCOMM link mode with security level\n\nChange the RFCOMM internals to use the new security levels and remove\nthe link mode details.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef",
      "tree": "62b6f679495026ccf64c1b71d48cede452689b73",
      "parents": [
        "8c1b235594fbab9a13240a1dac12ea9fd99b6440"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:38 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:26 2009 +0100"
      },
      "message": "Bluetooth: Replace L2CAP link mode with security level\n\nChange the L2CAP internals to use the new security levels and remove\nthe link mode details.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c1b235594fbab9a13240a1dac12ea9fd99b6440",
      "tree": "eb137a23e0fd8199144a4c3e36902af411e44269",
      "parents": [
        "c89b6e6bda4c8021195778f47567d0cc9dbfe7ec"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:04 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:25 2009 +0100"
      },
      "message": "Bluetooth: Add enhanced security model for Simple Pairing\n\nThe current security model is based around the flags AUTH, ENCRYPT and\nSECURE. Starting with support for the Bluetooth 2.1 specification this is\nno longer sufficient. The different security levels are now defined as\nSDP, LOW, MEDIUM and SECURE.\n\nPreviously it was possible to set each security independently, but this\nactually doesn\u0027t make a lot of sense. For Bluetooth the encryption depends\non a previous successful authentication. Also you can only update your\nexisting link key if you successfully created at least one before. And of\ncourse the update of link keys without having proper encryption in place\nis a security issue.\n\nThe new security levels from the Bluetooth 2.1 specification are now\nused internally. All old settings are mapped to the new values and this\nway it ensures that old applications still work. The only limitation\nis that it is no longer possible to set authentication without also\nenabling encryption. No application should have done this anyway since\nthis is actually a security issue. Without encryption the integrity of\nthe authentication can\u0027t be guaranteed.\n\nAs default for a new L2CAP or RFCOMM connection, the LOW security level\nis used. The only exception here are the service discovery sessions on\nPSM 1 where SDP level is used. To have similar security strength as with\na Bluetooth 2.0 and before combination key, the MEDIUM level should be\nused. This is according to the Bluetooth specification. The MEDIUM level\nwill not require any kind of man-in-the-middle (MITM) protection. Only\nthe HIGH security level will require this.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bb23c0ab824653be4aa7dfca15b07b3059717004",
      "tree": "bd0390c67d129e8b5ddc2a70a1b12e383db6fa16",
      "parents": [
        "c4f912e155504e94dd4f3d63c378dab0ff03dbda"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:56:48 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:23 2009 +0100"
      },
      "message": "Bluetooth: Add support for deferring RFCOMM connection setup\n\nIn order to decide if listening RFCOMM sockets should be accept()ed\nthe BD_ADDR of the remote device needs to be known. This patch adds\na socket option which defines a timeout for deferring the actual\nconnection setup.\n\nThe connection setup is done after reading from the socket for the\nfirst time. Until then writing to the socket returns ENOTCONN.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c4f912e155504e94dd4f3d63c378dab0ff03dbda",
      "tree": "db544bdd0dfc8ca890193a29b161b551f20f543c",
      "parents": [
        "d58daf42d29a3a4a4d4be46cf47ceee096789680"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:52:16 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:23 2009 +0100"
      },
      "message": "Bluetooth: Add global deferred socket parameter\n\nThe L2CAP and RFCOMM applications require support for authorization\nand the ability of rejecting incoming connection requests. The socket\ninterface is not really able to support this.\n\nThis patch does the ground work for a socket option to defer connection\nsetup. Setting this option allows calling of accept() and then the\nfirst read() will trigger the final connection setup. Calling close()\nwould reject the connection.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a418b893a6af11ae73c762ed5b76c1bad6dc19d8",
      "tree": "a24f9192988e4d55077d77420b90dc3cfd647a06",
      "parents": [
        "5ddd4a60683f819982b7bd3d1aee972f931c11a3"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:28 2008 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:28 2008 +0100"
      },
      "message": "Bluetooth: Enable per-module dynamic debug messages\n\nWith the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to\nallow debugging without having to recompile the kernel. This patch turns\nall BT_DBG() calls into pr_debug() to support dynamic debug messages.\n\nAs a side effect all CONFIG_BT_*_DEBUG statements are now removed and\nsome broken debug entries have been fixed.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7a9d4020533b5c0c615b6de3be154c9ff30b8cc9",
      "tree": "7d2957eb96f87f9ba8fcaf8c28aa7f4e93740fb6",
      "parents": [
        "12421b40b81d101d7535e03f1af197365adc932b"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:26 2008 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:26 2008 +0100"
      },
      "message": "Bluetooth: Send HCI Reset command by default on device initialization\n\nThe Bluetooth subsystem was not using the HCI Reset command when doing\ndevice initialization. The Bluetooth 1.0b specification was ambiguous\non how the device firmware was suppose to handle it. Almost every device\nwas triggering a transport reset at the same time. In case of USB this\nended up in disconnects from the bus.\n\nAll modern Bluetooth dongles handle this perfectly fine and a lot of\nthem actually require that HCI Reset is sent. If not then they are\neither stuck in their HID Proxy mode or their internal structures for\ninquiry and paging are not correctly setup.\n\nTo handle old and new devices smoothly the Bluetooth subsystem contains\na quirk to force the HCI Reset on initialization. However maintaining\nsuch a quirk becomes more and more complicated. This patch turns the\nlogic around and lets the old devices disable the HCI Reset command.\n\nThe only device where the HCI_QUIRK_NO_RESET is still needed are the\noriginal Digianswer devices and dongles with an early CSR firmware.\n\nCSR reported that they fixed this for version 12 firmware. The last\nofficial release of version 11 firmware is build ID 115. The first\nversion 12 candidate was build ID 117.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d5c003b4d1690e666dbab02bc8e705947baa848c",
      "tree": "868edee78b635698429173a95ac4215b932f0155",
      "parents": [
        "8e9c7716c138fa82d919bfe1115ec8c938e90918"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 15 22:01:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:30 2008 -0700"
      },
      "message": "include: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7c29cb16c833441fd2160642bb13025f4e7ac70",
      "tree": "7ba44be60b7bf9c4e7bee459735ebabdc85eb8fd",
      "parents": [
        "09ab6f4c2376a0fc31abde1e2991513f900ea825"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Reject L2CAP connections on an insecure ACL link\n\nThe Security Mode 4 of the Bluetooth 2.1 specification has strict\nauthentication and encryption requirements. It is the initiators job\nto create a secure ACL link. However in case of malicious devices, the\nacceptor has to make sure that the ACL is encrypted before allowing\nany kind of L2CAP connection. The only exception here is the PSM 1 for\nthe service discovery protocol, because that is allowed to run on an\ninsecure ACL link.\n\nPreviously it was enough to reject a L2CAP connection during the\nconnection setup phase, but with Bluetooth 2.1 it is forbidden to\ndo any L2CAP protocol exchange on an insecure link (except SDP).\n\nThe new hci_conn_check_link_mode() function can be used to check the\nintegrity of an ACL link. This functions also takes care of the cases\nwhere Security Mode 4 is disabled or one of the devices is based on\nan older specification.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "09ab6f4c2376a0fc31abde1e2991513f900ea825",
      "tree": "f002d719a8a9a2c6344f06a5b9346bc053b4054d",
      "parents": [
        "f1c08ca559387ab30992055596d54061dfa022b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Enforce correct authentication requirements\n\nWith the introduction of Security Mode 4 and Simple Pairing from the\nBluetooth 2.1 specification it became mandatory that the initiator\nrequires authentication and encryption before any L2CAP channel can\nbe established. The only exception here is PSM 1 for the service\ndiscovery protocol (SDP). It is meant to be used without any encryption\nsince it contains only public information. This is how Bluetooth 2.0\nand before handle connections on PSM 1.\n\nFor Bluetooth 2.1 devices the pairing procedure differentiates between\nno bonding, general bonding and dedicated bonding. The L2CAP layer\nwrongly uses always general bonding when creating new connections, but it\nshould not do this for SDP connections. In this case the authentication\nrequirement should be no bonding and the just-works model should be used,\nbut in case of non-SDP connection it is required to use general bonding.\n\nIf the new connection requires man-in-the-middle (MITM) protection, it\nalso first wrongly creates an unauthenticated link key and then later on\nrequests an upgrade to an authenticated link key to provide full MITM\nprotection. With Simple Pairing the link key generation is an expensive\noperation (compared to Bluetooth 2.0 and before) and doing this twice\nduring a connection setup causes a noticeable delay when establishing\na new connection. This should be avoided to not regress from the expected\nBluetooth 2.0 connection times. The authentication requirements are known\nup-front and so enforce them.\n\nTo fulfill these requirements the hci_connect() function has been extended\nwith an authentication requirement parameter that will be stored inside\nthe connection information and can be retrieved by userspace at any\ntime. This allows the correct IO capabilities exchange and results in\nthe expected behavior.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8b6b3da765af9600b5edd8e3e84a20523e975884",
      "tree": "16c1ccc6c02ea8fd89043e7ed1934a9cd1d9b6be",
      "parents": [
        "ca37bdd53b5af06d00e792f2415b93206aa2a541"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:52 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:52 2008 +0200"
      },
      "message": "[Bluetooth] Store remote modem status for RFCOMM TTY\n\nWhen switching a RFCOMM socket to a TTY, the remote modem status might\nbe needed later. Currently it is lost since the original configuration\nis done via the socket interface. So store the modem status and reply\nit when the socket has been converted to a TTY.\n\nSigned-off-by: Denis Kenzior \u003cdenis.kenzior@trolltech.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3241ad820dbb172021e0268b5611031991431626",
      "tree": "628c3fbdc88f9de6c996358ebcb551176da38f1f",
      "parents": [
        "40be492fe4fab829951681860c2bb26fa1d5fe4a"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "message": "[Bluetooth] Add timestamp support to L2CAP, RFCOMM and SCO\n\nEnable the common timestamp functionality that the network subsystem\nprovides for L2CAP, RFCOMM and SCO sockets. It is possible to either\nuse SO_TIMESTAMP or the IOCTLs to retrieve the timestamp of the\ncurrent packet.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "40be492fe4fab829951681860c2bb26fa1d5fe4a",
      "tree": "41b576692c2206c9a51e689f54170076ec95bc3a",
      "parents": [
        "f8558555f31e177e2644f3c8116801c3e5c29974"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "message": "[Bluetooth] Export details about authentication requirements\n\nWith the Simple Pairing support, the authentication requirements are\nan explicit setting during the bonding process. Track and enforce the\nrequirements and allow higher layers like L2CAP and RFCOMM to increase\nthem if needed.\n\nThis patch introduces a new IOCTL that allows to query the current\nauthentication requirements. It is also possible to detect Simple\nPairing support in the kernel this way.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "769be974d0c7b4fe1a52f9cdaad22259b60953f7",
      "tree": "b07af753550c892beb7223d474298806cbf919d5",
      "parents": [
        "a8bd28baf21b9ee6b8486666b771283e566c0d31"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:49 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:49 2008 +0200"
      },
      "message": "[Bluetooth] Use ACL config stage to retrieve remote features\n\nThe Bluetooth technology introduces new features on a regular basis\nand for some of them it is important that the hardware on both sides\nsupport them. For features like Simple Pairing it is important that\nthe host stacks on both sides have switched this feature on. To make\nvalid decisions, a config stage during ACL link establishment has been\nintroduced that retrieves remote features and if needed also the remote\nextended features (known as remote host features) before signalling\nthis link as connected.\n\nThis change introduces full reference counting of incoming and outgoing\nACL links and the Bluetooth core will disconnect both if no owner of it\nis present. To better handle interoperability during the pairing phase\nthe disconnect timeout for incoming connections has been increased to\n10 seconds. This is five times more than for outgoing connections.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "41a96212b3b7b3cd59e8e8d33e6dabf0e21d9778",
      "tree": "3ba680af5e3f984d7b32a25c4d71685a54541a8f",
      "parents": [
        "333140b57fa7867bc92e5ee879b6ac4ef5e1d867"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:48 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:48 2008 +0200"
      },
      "message": "[Bluetooth] Track status of remote Simple Pairing mode\n\nThe Simple Pairing process can only be used if both sides have the\nsupport enabled in the host stack. The current Bluetooth specification\nhas three ways to detect this support.\n\nIf an Extended Inquiry Result has been sent during inquiry then it\nis safe to assume that Simple Pairing is enabled. It is not allowed\nto enable Extended Inquiry without Simple Pairing. During the remote\nname request phase a notification with the remote host supported\nfeatures will be sent to indicate Simple Pairing support. Also the\nsecond page of the remote extended features can indicate support for\nSimple Pairing.\n\nFor all three cases the value of remote Simple Pairing mode is stored\nin the inquiry cache for later use.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "333140b57fa7867bc92e5ee879b6ac4ef5e1d867",
      "tree": "a498d195bff090371993ec2bf63505f768434540",
      "parents": [
        "0493684ed2397e111574f343534d8e4ec440dfa5"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:48 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:48 2008 +0200"
      },
      "message": "[Bluetooth] Track status of Simple Pairing mode\n\nThe Simple Pairing feature is optional and needs to be enabled by the\nhost stack first. The Linux kernel relies on the Bluetooth daemon to\neither enable or disable it, but at any time it needs to know the\ncurrent state of the Simple Pairing mode. So track any changes made\nby external entities and store the current mode in the HCI device\nstructure.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0493684ed2397e111574f343534d8e4ec440dfa5",
      "tree": "ea27e8d7ecbc197893c16b36af0ac4419264d62d",
      "parents": [
        "c7bdd5026d28d178238bd794c61612602a54d55e"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:48 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:48 2008 +0200"
      },
      "message": "[Bluetooth] Disable disconnect timer during Simple Pairing\n\nDuring the Simple Pairing process the HCI disconnect timer must be\ndisabled. The way to do this is by holding a reference count of the\nHCI connection. The Simple Pairing process on both sides starts with\nan IO Capabilities Request and ends with Simple Pairing Complete.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6",
      "tree": "7909e7f16b314ac0e2f68305ba38ebe7840d1951",
      "parents": [
        "a8746417e864da1ed36dd2432a399fbeb843c2a0"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:47 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:47 2008 +0200"
      },
      "message": "[Bluetooth] Make use of the default link policy settings\n\nThe Bluetooth specification supports the default link policy settings\non a per host controller basis. For every new connection the link\nmanager would then use these settings. It is better to use this instead\nof bothering the controller on every connection setup to overwrite the\ndefault settings.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a8746417e864da1ed36dd2432a399fbeb843c2a0",
      "tree": "e0e392e8b76d53748f357e888483bced2de24e2b",
      "parents": [
        "9dc0a3afc08d6c20c284994dcd84531787d00ec2"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:46 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:46 2008 +0200"
      },
      "message": "[Bluetooth] Track connection packet type changes\n\nThe connection packet type can be changed after the connection has been\nestablished and thus needs to be properly tracked to ensure that the\nhost stack has always correct and valid information about it.\n\nOn incoming connections the Bluetooth core switches the supported packet\ntypes to the configured list for this controller. However the usefulness\nof this feature has been questioned a lot. The general consent is that\nevery Bluetooth host stack should enable as many packet types as the\nhardware actually supports and leave the decision to the link manager\nsoftware running on the Bluetooth chip.\n\nWhen running on Bluetooth 2.0 or later hardware, don\u0027t change the packet\ntype for incoming connections anymore. This hardware likely supports\nEnhanced Data Rate and thus leave it completely up to the link manager\nto pick the best packet type.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9719f8afce34d3d04e884873a8a5e3483e30974c",
      "tree": "aee26f7df7e2d92aa54d4b9da88c4ff5987191dd",
      "parents": [
        "77db1980565626471a980f0d2d17299e4bd5e7a5"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:45 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:45 2008 +0200"
      },
      "message": "[Bluetooth] Disconnect when encryption gets disabled\n\nThe Bluetooth specification allows to enable or disable the encryption\nof an ACL link at any time by either the peer or the remote device. If\na L2CAP or RFCOMM connection requested an encrypted link, they will now\ndisconnect that link if the encryption gets disabled. Higher protocols\nthat don\u0027t care about encryption (like SDP) are not affected.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "77db1980565626471a980f0d2d17299e4bd5e7a5",
      "tree": "93b71744c82fd3479d3c91033b871032de03049b",
      "parents": [
        "79d554a6976a295aa9212172b218f29ca71c3b3d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:45 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:45 2008 +0200"
      },
      "message": "[Bluetooth] Enforce security for outgoing RFCOMM connections\n\nRecent tests with various Bluetooth headsets have shown that some of\nthem don\u0027t enforce authentication and encryption when connecting. All\nof them leave it up to the host stack to enforce it. Non of them should\nallow unencrypted connections, but that is how it is. So in case the\nlink mode settings require authentication and/or encryption it will now\nalso be enforced on outgoing RFCOMM connections. Previously this was\nonly done for incoming connections.\n\nThis support has a small drawback from a protocol level point of view\nsince the host stack can\u0027t really tell with 100% certainty if a remote\nside is already authenticated or not. So if both sides are configured\nto enforce authentication it will be requested twice. Most Bluetooth\nchips are caching this information and thus no extra authentication\nprocedure has to be triggered over-the-air, but it can happen.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "04005dd9ae7bf1031408869c33df96149ebb1086",
      "tree": "07a729c5a58c27dcf0247aac66515ce48b3a98cc",
      "parents": [
        "147e2d59833e994cc99341806a88b9e59be41391"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Wed Mar 05 18:47:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:47:03 2008 -0800"
      },
      "message": "bluetooth: Make hci_sock_cleanup() return void\n\nhci_sock_cleanup() always returns 0 and its return value isn\u0027t used\nanywhere in the code.\n\nCompile-tested with \u0027make allyesconfig \u0026\u0026 make net/bluetooth/bluetooth.ko\u0027\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "41380930d2cbdc0abf7513a675864258b7ac973d",
      "tree": "bded49b68abc1d1414acd7bb10dadc01b84fd232",
      "parents": [
        "8b7817f3a959ed99d7443afc12f78a7e1fcc2063"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Dec 12 10:46:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:23 2008 -0800"
      },
      "message": "[NET]: Remove FASTCALL macro\n\nX86_32 was the last user of the FASTCALL macro, now that it\nuses regparm(3) by default, this macro expands to nothing.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6a0dc822497e1c0b9e8c4add270cc27fce48454",
      "tree": "ecfd0a08f62e4c6c7d1e63e62c04b6c17ca09cb6",
      "parents": [
        "dae6a0f6636d05bcb28ece1f3630b23ed2d66e18"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 14:55:10 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:47 2007 -0700"
      },
      "message": "[Bluetooth] Add support for handling simple eSCO links\n\nWith the Bluetooth 1.2 specification the Extended SCO feature for\nbetter audio connections was introduced. So far the Bluetooth core\nwasn\u0027t able to handle any eSCO connections correctly. This patch\nadds simple eSCO support while keeping backward compatibility with\nolder devices.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6464f35f3771f69cd8d107fff166dc29ab392f97",
      "tree": "b737bc19dfd6decc6769a425491e0e0b06687d1b",
      "parents": [
        "f0709e03ac3552b1b048ee171cb96ecaacc6813c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:39:51 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:43 2007 -0700"
      },
      "message": "[Bluetooth] Fall back to L2CAP in basic mode\n\nIn case the remote entity tries to negogiate retransmission or flow\ncontrol mode, reject it and fall back to basic mode.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4e8402a3f884427f9233ba436459c158d1f2e114",
      "tree": "3853523eaba309ea8aff89ed4868770cf82d40b2",
      "parents": [
        "861d6882b3dfe1710b35dbddf1b395b962061413"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:37:56 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:41 2007 -0700"
      },
      "message": "[Bluetooth] Retrieve L2CAP features mask on connection setup\n\nThe Bluetooth 1.2 specification introduced a specific features mask\nvalue to interoperate with newer versions of the specification. So far\nthis piece of information was never needed, but future extensions will\nrely on it. This patch adds a generic way to retrieve this information\nonly once per connection setup.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "861d6882b3dfe1710b35dbddf1b395b962061413",
      "tree": "94da0e9d5de2c3ed7643600ba4fe643e5e7c6911",
      "parents": [
        "876d9484edf77d228adb42aecd4debd58d7739d6"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:37:06 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:41 2007 -0700"
      },
      "message": "[Bluetooth] Remove global conf_mtu variable from L2CAP\n\nAfter the change to the L2CAP configuration parameter handling the\nglobal conf_mtu variable is no longer needed and so remove it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a9de9248064bfc8eb0a183a6a951a4e7b5ca10a4",
      "tree": "4934b99543a9ae0f0282a7f366a8b765c6fb1a08",
      "parents": [
        "55b70a0300b873c0ec7ea6e33752af56f41250ce"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:33:56 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:40 2007 -0700"
      },
      "message": "[Bluetooth] Switch from OGF+OCF to using only opcodes\n\nThe Bluetooth HCI commands are divided into logical OGF groups for\neasier identification of their purposes. While this still makes sense\nfor the written specification, its makes the code only more complex\nand harder to read. So instead of using separate OGF and OCF values\nto identify the commands, use a common 16-bit opcode that combines\nboth values. As a side effect this also reduces the complexity of\nOGF and OCF calculations during command header parsing.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8e036fc3143646dc304356fa50314681d654363f",
      "tree": "11ba34d6977b95f69b96a8a91f2902e2672d8fad",
      "parents": [
        "6dc0c2082b8acf30c9239fbbcc051eebdaf7ecff"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:16:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:07 2007 -0700"
      },
      "message": "[BLUETOOTH] l2cap: endianness annotations\n\nno code changes, just documenting existing types\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b7f990927fe87ad3bec762a33c0e72bcbf6841e",
      "tree": "1c9356fe04e235e938fa7a1a7a2c7a75bc124de0",
      "parents": [
        "8de0a15483b357d0f0b821330ec84d1660cadc4e"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 11 09:51:55 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 11 07:35:32 2007 +0200"
      },
      "message": "[Bluetooth] Add basics to better support and handle eSCO links\n\nTo better support and handle eSCO links in the future a bunch of\nconstants needs to be added and some basic routines need to be\nupdated. This is the initial step.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8de0a15483b357d0f0b821330ec84d1660cadc4e",
      "tree": "b53fe490c95066dfc95f58d52b26e3f1f75ecdba",
      "parents": [
        "84950cf0ba02fd6a5defe2511bc41f9aa2237632"
      ],
      "author": {
        "name": "Ville Tervo",
        "email": "ville.tervo@nokia.com",
        "time": "Wed Jul 11 09:23:41 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 11 07:06:51 2007 +0200"
      },
      "message": "[Bluetooth] Keep rfcomm_dev on the list until it is freed\n\nThis patch changes the RFCOMM TTY release process so that the TTY is kept\non the list until it is really freed. A new device flag is used to keep\ntrack of released TTYs.\n\nSigned-off-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4",
      "tree": "706fb330afd783755eee511bd9182e507c88c5e6",
      "parents": [
        "7dcca30a32aadb0520417521b0c44f42d09fe05c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 11 06:42:04 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 11 06:42:04 2007 +0200"
      },
      "message": "[Bluetooth] Add hci_recv_fragment() helper function\n\nMost drivers must handle fragmented HCI data packets and events. This\npatch adds a generic function for their reassembly to the Bluetooth\ncore layer and thus allows to shrink the complexity of the drivers.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5dee9e7c4c869fcffccc3d432b755793dfa71376",
      "tree": "4142c425d5941c405dc0a8bf23c59e0749192bfa",
      "parents": [
        "fd184ab4283a6a6105e8312a497d2a2a193eaf67"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu May 24 14:27:19 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu May 24 14:27:19 2007 +0200"
      },
      "message": "[Bluetooth] Fix L2CAP configuration parameter handling\n\nThe L2CAP configuration parameter handling was missing the support\nfor rejecting unknown options. The capability to reject unknown\noptions is mandatory since the Bluetooth 1.2 specification. This\npatch implements its and also simplifies the parameter parsing.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2a123b86e2b242a4a6db990d2851d45e192f88e5",
      "tree": "afbb29b9cf58cf8ee5c581315d5b423d7775196f",
      "parents": [
        "03d4f879b9ddf7d5c1f788792247e62450342eed"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 27 18:38:07 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:21 2007 -0700"
      },
      "message": "[BLUETOOTH]: Introduce skb-\u003edata accessor methods for hci_{acl,event,sco}_hdr\n\nFor consistency with other skb data accessors, reducing the number of direct\naccesses to skb-\u003edata.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "905f3ed62515f233fea09dc5ad68bbcff4903520",
      "tree": "3ebd0793db6978a37c9e40761b090b179cca9116",
      "parents": [
        "db71b7f19c3ddc8897437e655130f9010f9a9b72"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 13 00:35:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:52 2006 -0800"
      },
      "message": "[PATCH] hci endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ba9c755e5f044c6a37296481bf6a861e4193a37",
      "tree": "d6b9b656ca6e7b397a3a2f843ebe7ab26e2c1a19",
      "parents": [
        "1bc5d4483a83349f143e2bbf23ec144cd7e21e89"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:28:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:29 2006 -0800"
      },
      "message": "[BLUETOOTH]: rfcomm endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c67bc74f016b0d360b8573e18969c0ff7926974",
      "tree": "d5eec3da59b642f48e7fcc2034b6d90b5fa54e01",
      "parents": [
        "e9c4bec63eac001651d6d30239dd4175cc3698ef"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Oct 15 17:30:56 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:30 2006 -0700"
      },
      "message": "[Bluetooth] Support concurrent connect requests\n\nMost Bluetooth chips don\u0027t support concurrent connect requests, because\nthis would involve a multiple baseband page with only one radio. In the\ncase an upper layer like L2CAP requests a concurrent connect these chips\nreturn the error \"Command Disallowed\" for the second request. If this\nhappens it the responsibility of the Bluetooth core to queue the request\nand try again after the previous connect attempt has been completed.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6ac59344ef25d5f0ebadb5663cf700d25d2a3886",
      "tree": "b4dbdf1589e0a7b6d3ed04d38fb7615a54f0d7af",
      "parents": [
        "1143e5a6d4d69cd36d44e0184769aa2b17041a10"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 26 09:43:48 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:33 2006 -0700"
      },
      "message": "[Bluetooth] Support create connection cancel command\n\nIn case of non-blocking connects it is possible that the last user\nof an ACL link quits before the connection has been fully established.\nThis will lead to a race condition where the internal state of a\nconnection is closed, but the actual link has been established and is\nactive. In case of Bluetooth 1.2 and later devices it is possible to\ncall create connection cancel to abort the connect. For older devices\nthe disconnect timer will be used to trigger the needed disconnect.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1143e5a6d4d69cd36d44e0184769aa2b17041a10",
      "tree": "e3fb71220eb08c0c0b03ec7f76655818338643b5",
      "parents": [
        "b4c612a473eb816dff6e5ab6820dff338057aa8d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Sep 23 09:57:20 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:32 2006 -0700"
      },
      "message": "[Bluetooth] Read local version information on device init\n\nThe local version information are needed to identify certain feature\nsets of devices. They must be read on device init and stored for later\nuse. It is also possible to access them through the device model.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "defc761bc25643eeedee3abd6af0079ef214b55d",
      "tree": "4ac4e3584629345f8c20f5dcaace2cb011fa9a94",
      "parents": [
        "0ac53939a06c610b394aeb0211b985804f2d2da3"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Sep 21 16:04:00 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:29 2006 -0700"
      },
      "message": "[Bluetooth] Handle command complete event for exit periodic inquiry\n\nThe command complete event of the exit periodic inquiry command must\nclear the HCI_INQUIRY flag and finish the HCI request.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0ac53939a06c610b394aeb0211b985804f2d2da3",
      "tree": "40e4b80f70a7cd42705e49a817950857055f2d1b",
      "parents": [
        "9c724357f432df5ddc83a62c8168414a604cd420"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Jul 08 13:57:15 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:28 2006 -0700"
      },
      "message": "[Bluetooth] Add HCI device identifier for SDIO cards\n\nThis patch assigns the next free HCI device identifier to Bluetooth\ndevices based on the SDIO interface.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b219e3ac66183fc9771b94af931fb5fd41d586ec",
      "tree": "671a6a553c6744fce2eb35c6508249cbc616c326",
      "parents": [
        "4d0eb0049ce94101f7f169f89216ba58475219e2"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jul 06 12:38:46 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:25 2006 -0700"
      },
      "message": "[Bluetooth] Integrate low-level connections into the driver model\n\nThis patch integrates the low-level connections (ACL and SCO) into the\ndriver model. Every connection is presented as device with the parent\nset to its host controller device.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a91f2e396f5b32b21d842b4757bc8de5e88eac66",
      "tree": "174b88a20feea87734bf63ec7104eae0b205649a",
      "parents": [
        "27d35284258c596900e0e41c46932ec4abe6a7b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:41 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:54:02 2006 -0700"
      },
      "message": "[Bluetooth] Use real devices for host controllers\n\nThis patch converts the Bluetooth class devices into real devices. The\nBluetooth class is kept and the driver core provides the appropriate\nsymlinks for backward compatibility.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "27d35284258c596900e0e41c46932ec4abe6a7b1",
      "tree": "d1a0f236b589e14f3c6251e9dfcb2b2aafdaf5ad",
      "parents": [
        "04837f6447c7f3ef114cda1ad761822dedbff8cf"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:37 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:54:00 2006 -0700"
      },
      "message": "[Bluetooth] Add platform device for virtual and serial devices\n\nThis patch adds a generic Bluetooth platform device that can be used\nas parent device by virtual and serial devices.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "04837f6447c7f3ef114cda1ad761822dedbff8cf",
      "tree": "66dbb53e82550723191ffe54f0457eafc3a92d32",
      "parents": [
        "da1f519851d1c66331363253f364bdb5d924ea96"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:33 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:53:58 2006 -0700"
      },
      "message": "[Bluetooth] Add automatic sniff mode support\n\nThis patch introduces the automatic sniff mode feature. This allows\nthe host to switch idle connections into sniff mode to safe power.\n\nSigned-off-by: Ulisses Furquim \u003culissesf@gmail.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "da1f519851d1c66331363253f364bdb5d924ea96",
      "tree": "8760b2edb53a50d679403385dc2cbf960bb3cffc",
      "parents": [
        "dcdcf63ef12dc3fbaa17a6d04f16ada8e63bb4d0"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:29 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:53:56 2006 -0700"
      },
      "message": "[Bluetooth] Correct SCO buffer size on request\n\nThis patch introduces a quirk that allows the drivers to tell the host\nto correct the SCO buffer size values.\n\nSigned-off-by: Olivier Galibert \u003cgalibert@pobox.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "56f3a40a5e7586043260669cc794e56fa58339e1",
      "tree": "a2a756d86f8ff9da8d5668d2dfbf51f5107c53ce",
      "parents": [
        "e9bb4c9929a63b23dcc637fae312b36b038bdc61"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 13 11:39:57 2006 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 13 11:39:57 2006 +0100"
      },
      "message": "[Bluetooth] Reduce L2CAP MTU for RFCOMM connections\n\nThis patch reduces the default L2CAP MTU for all RFCOMM connections\nfrom 1024 to 1013 to improve the interoperability with some broken\nRFCOMM implementations. To make this more flexible the L2CAP MTU\nbecomes also a module parameter and so it can changed at runtime.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "be9d122730c878baafe11e70d1436faac229f2fc",
      "tree": "d6644129b56d7cff9fb9781154eebf97746f296b",
      "parents": [
        "1ebb92521d0bc2d4ef772730d29333c06b807191"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Nov 08 09:57:38 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:57:38 2005 -0800"
      },
      "message": "[Bluetooth]: Remove the usage of /proc completely\n\nThis patch removes all relics of the /proc usage from the Bluetooth\nsubsystem core and its upper layers. All the previous information are\nnow available via /sys/class/bluetooth through appropriate functions.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ebb92521d0bc2d4ef772730d29333c06b807191",
      "tree": "d480ca68fd4c7f1185e189942feef8d85edbb659",
      "parents": [
        "7ef934b3b73f74aea23aa0e98affe86d7ea816a3"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Nov 08 09:57:21 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:57:21 2005 -0800"
      },
      "message": "[Bluetooth]: Add endian annotations to the core\n\nThis patch adds the endian annotations to the Bluetooth core.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6516455d3b42b33759a33a8102c1b8b48af4d9c9",
      "tree": "e7395ebcfa68c4a5aa25d80e4b279313f3fdea3e",
      "parents": [
        "0372a6627f862f90a2c43772befeecef508cfd7b"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Oct 28 19:20:48 2005 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Oct 28 19:20:48 2005 +0200"
      },
      "message": "[Bluetooth] Make more functions static\n\nThis patch makes another bunch of functions static.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "408c1ce2716c7a004851c93f9f9dcf3d763bc240",
      "tree": "11e086c44c2f313e27cec46c7ad799b7614b01c9",
      "parents": [
        "741b2252a5e14d6c60a913c77a6099abe73a854a"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Oct 28 19:20:36 2005 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Oct 28 19:20:36 2005 +0200"
      },
      "message": "[Bluetooth] Move CRC table into RFCOMM core\n\nThis patch moves rfcomm_crc_table[] into the RFCOMM core, because there\nis no need to keep it in a separate file.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "21d9e30ed020d24336cc3bee2a4e04da232ed554",
      "tree": "686594eece8d9a2593a62bd1a54a4effa1710b41",
      "parents": [
        "862aad56dcd67fd0313db51d09a5269f7e3f1f0b"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 13 01:32:25 2005 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 13 01:32:25 2005 +0200"
      },
      "message": "[Bluetooth] Add support for extended inquiry responses\n\nThis patch adds the handling of the extended inquiry responses and\ninserts them into the inquiry cache.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d48d93947dd9ea21c5cdc76a8581b06a4a39281",
      "tree": "96a1cbfe83a02e27fed3d30f1ac9f2fe05c17506",
      "parents": [
        "2eb25a6c34504254760e67172f7518d6bfdd7676"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Aug 09 20:30:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:55:13 2005 -0700"
      },
      "message": "[Bluetooth]: Move packet type into the SKB control buffer\n\nThis patch moves the usage of packet type into the SKB control\nbuffer. After this patch it is now possible to shrink the sk_buff\nstructure and redefine its pkt_type.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2eb25a6c34504254760e67172f7518d6bfdd7676",
      "tree": "fc2f39fedac03f773b7bbb3489774df57edc721c",
      "parents": [
        "3a5e903c09aed19ca4a1bb26d87b8d6461a93818"
      ],
      "author": {
        "name": "Victor Fusco",
        "email": "victor@cetuc.puc-rio.br",
        "time": "Tue Aug 09 20:29:11 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:55:07 2005 -0700"
      },
      "message": "[Bluetooth]: Fix sparse warnings (__nocast type)\n\nThis patch fixes the sparse warnings \"implicit cast to nocast type\"\nfor the priority or gfp_mask parameters of the memory allocations.\n\nSigned-off-by: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a5e903c09aed19ca4a1bb26d87b8d6461a93818",
      "tree": "b9761b89aaba6537d06893091a2f43c9a8e17c3f",
      "parents": [
        "7b9eb9e2099f6f4acd6a36bcd7820d27c3cf5ee3"
      ],
      "author": {
        "name": "J. Suter",
        "email": "jsuter@hardwave.de",
        "time": "Tue Aug 09 20:28:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:55:03 2005 -0700"
      },
      "message": "[Bluetooth]: Implement RFCOMM remote port negotiation\n\nThis patch implements the remote port negotiation (RPN) of the RFCOMM\nprotocol for Bluetooth.\n\nSigned-off-by: J. Suter \u003cjsuter@hardwave.de\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85a1e930bf628700e8e9c166b1f5c1c26d3651cc",
      "tree": "3361d42b6c32145517df9ac95117221a01a8132c",
      "parents": [
        "45bb4bf08b9c16122af84d3f26a018c8022b24e5"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Aug 09 20:28:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:54:53 2005 -0700"
      },
      "message": "[Bluetooth]: Track page scan repetition mode changes\n\nThe HCI page scan repetition mode change event contains the actual\npage scan repetition mode for the remote device. It is the same\nvalue that is received from an inquiry response and it can be used\nto make further reconnections faster.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45bb4bf08b9c16122af84d3f26a018c8022b24e5",
      "tree": "f8eb941e9ba34345652ab6330ab6b84c8598dec1",
      "parents": [
        "4aa769b99724953a6f322c648c0cfbe8c6616382"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Aug 09 20:27:49 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:54:47 2005 -0700"
      },
      "message": "[Bluetooth]: Workaround for inquiry results with RSSI and page scan mode\n\nThis patch implements a workaround for buggy Bluetooth 1.2 devices from\nSilicon Wave. Their inquiry results with RSSI contain the page scan mode\nfield. This field was removed in the final Bluetooth 1.2 specification.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66e8b6c31b9254243afaac8af4135e84e11dd38e",
      "tree": "cf25ee6d3b555a246be9bf8b783d3a92325cf5d9",
      "parents": [
        "e9a3e671c09d419f29710d8620ed916d3bf7d7ab"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 06 12:36:51 2005 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 06 12:36:51 2005 +0200"
      },
      "message": "[Bluetooth] Remove unused functions and cleanup symbol exports\n\nThis patch removes the unused bt_dump() function and it also removes\nits BT_DMP macro. It also unexports the hci_dev_get(), hci_send_cmd()\nand hci_si_event() functions.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
