)]}'
{
  "log": [
    {
      "commit": "93c10132a7ac160df3175b53f7ee857625412165",
      "tree": "64ea194ddd7791d44394bb2a918921a2906fe1ee",
      "parents": [
        "fea6f1833b5bbff7066bcde1fa1141c9717bbad2"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jun 27 00:04:24 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Oct 14 23:50:56 2008 +0200"
      },
      "message": "HID: move connect quirks\n\nMove connecting from usbhid to the hid layer and fix also hidp in\nthat manner.\nThis removes all the ignore/force hidinput/hiddev connecting quirks.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "8c19a51591d06f5226499972567f528cf6066bb7",
      "tree": "acfa47c0cb371c8b87f7282d19c627e44032dbe2",
      "parents": [
        "d458a9dfc4de24870b8c747484b1988726534bee"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Jun 18 23:36:49 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Oct 14 23:50:49 2008 +0200"
      },
      "message": "HID: move apple quirks\n\nMove them from the core code to a separate driver.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "d458a9dfc4de24870b8c747484b1988726534bee",
      "tree": "6ffc58f210054f615c60a495b1a4493d8e7cef14",
      "parents": [
        "5f22a7992349c5ca3842190be52d5e9a1dd7adf4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri May 16 11:49:20 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Oct 14 23:50:49 2008 +0200"
      },
      "message": "HID: move ignore quirks\n\nMove ignore quirks from usbhid-quirks into hid-core code. Also don\u0027t output\nwarning when ENODEV is error code in usbhid and try ordinal input in hidp\nwhen that error is returned.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "c500c9714011edab021591340042787722db9cf0",
      "tree": "d6bb0fe483c9f1c71c3d757e9c13d261ca01cd5f",
      "parents": [
        "85cdaf524b7ddab627e7d15405693f2511ef7505"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri May 16 11:49:16 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Oct 14 23:50:48 2008 +0200"
      },
      "message": "HID: hid, make parsing event driven\n\nNext step for complete hid bus, this patch includes:\n- call parser either from probe or from hid-core if there is no probe.\n- add ll_driver structure and centralize some stuff there (open, close...)\n- split and merge usb_hid_configure and hid_probe into several functions\n  to allow hooks/fixes between them\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "85cdaf524b7ddab627e7d15405693f2511ef7505",
      "tree": "a85fb7c801df07842301c27dc57cf2eb5092f6ed",
      "parents": [
        "e8c84f9a5f06912c94c38961096c994da3890a2e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri May 16 11:49:15 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Oct 14 23:50:48 2008 +0200"
      },
      "message": "HID: make a bus from hid code\n\nMake a bus from hid core. This is the first step for converting all the\nquirks and separate almost-drivers into real drivers attached to this bus.\n\nIt\u0027s implemented to change behaviour in very tiny manner, so that no driver\nneeds to be changed this time.\n\nAlso add generic drivers for both usb and bt into usbhid or hidp\nrespectively which will bind all non-blacklisted device. Those blacklisted\nwill be either grabbed by special drivers or by nobody if they are broken at\nthe very rude base.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "7c6a329e444725f24c02192ac493d8a7cd9fa638",
      "tree": "73a48d087108537a174290f3a8a01814313fbf63",
      "parents": [
        "69da6b87fcb270f758fe75141c32e041f8db510c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Sep 12 03:11:54 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Sep 12 03:11:54 2008 +0200"
      },
      "message": "[Bluetooth] Fix regression from using default link policy\n\nTo speed up the Simple Pairing connection setup, the support for the\ndefault link policy has been enabled. This is in contrast to settings\nthe link policy on every connection setup. Using the default link policy\nis the preferred way since there is no need to dynamically change it for\nevery connection.\n\nFor backward compatibility reason and to support old userspace the\nHCISETLINKPOL ioctl has been switched over to using hci_request() to\nissue the HCI command for setting the default link policy instead of\njust storing it in the HCI device structure.\n\nHowever the hci_request() can only be issued when the device is\nbrought up. If used on a device that is registered, but still down\nit will timeout and fail. This is problematic since the command is\nput on the TX queue and the Bluetooth core tries to submit it to\nhardware that is not ready yet. The timeout for these requests is\n10 seconds and this causes a significant regression when setting up\na new device.\n\nThe userspace can perfectly handle a failure of the HCISETLINKPOL\nioctl and will re-submit it later, but the 10 seconds delay causes\na problem. So in case hci_request() is called on a device that is\nstill down, just fail it with ENETDOWN to indicate what happens.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.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": "f1c08ca559387ab30992055596d54061dfa022b1",
      "tree": "ad95ceaf1d26b798a938ad09e2fec943a890dc11",
      "parents": [
        "24342c34a022ee90839873d91396045e12ef1090"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:19 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:19 2008 +0200"
      },
      "message": "[Bluetooth] Fix reference counting during ACL config stage\n\nThe ACL config stage keeps holding a reference count on incoming\nconnections when requesting the extended features. This results in\nkeeping an ACL link up without any users. The problem here is that\nthe Bluetooth specification doesn\u0027t define an ownership of the ACL\nlink and thus it can happen that the implementation on the initiator\nside doesn\u0027t care about disconnecting unused links. In this case the\nacceptor needs to take care of this.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "63fbd24e5102eecfc9d049ed7f4be7f9a25f814f",
      "tree": "9ead3c67300ce8bcdbe26d02ba264e84baea930a",
      "parents": [
        "90855d7b725d764d6d70503bcc1b494cf10ddc98"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "message": "[Bluetooth] Consolidate maintainers information\n\nThe Bluetooth entries for the MAINTAINERS file are a little bit too\nmuch. Consolidate them into two entries. One for Bluetooth drivers and\nanother one for the Bluetooth subsystem.\n\nAlso the MODULE_AUTHOR should indicate the current maintainer of the\nmodule and actually not the original author. Fix all Bluetooth modules\nto provide current maintainer information.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "90855d7b725d764d6d70503bcc1b494cf10ddc98",
      "tree": "bad737fb7b8ee6593b3fcddce0233f0eb207ea25",
      "parents": [
        "9bfa35fe422c74882e27cc54450a5f76c96aad68"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "message": "[Bluetooth] Fix userspace breakage due missing class links\n\nThe Bluetooth adapters and connections are best presented via a class\nin sysfs. The removal of the links inside the Bluetooth class broke\nassumptions by userspace programs on how to find attached adapters.\n\nThis patch creates adapters and connections as part of the Bluetooth\nclass, but it uses different device types to distinguish them. The\nuserspace programs can now easily navigate in the sysfs device tree.\n\nThe unused platform device and bus have been removed to keep the\ncode simple and clean.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "28111eb2f5087c5aa5ec3697388f6c7d354b2ad8",
      "tree": "b1a30843c0b245e872babbc101a703cf874e59cc",
      "parents": [
        "0967d61ea0d8e8a7826bd8949cd93dd1e829ac55"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Aug 07 22:26:54 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Aug 07 22:26:54 2008 +0200"
      },
      "message": "[Bluetooth] Add parameters to control BNEP header compression\n\nThe Bluetooth qualification for PAN demands testing with BNEP header\ncompression disabled. This is actually pretty stupid and the Linux\nimplementation outsmarts the test system since it compresses whenever\npossible. So to pass qualification two need parameters have been added\nto control the compression of source and destination headers.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "16be63fd1670000b96b76cb55b6f1bead21b4c4b",
      "tree": "7b5bbe9ccf70098a88e31a6da9196f1476730eea",
      "parents": [
        "110cf374a809817d5c080c0ac82d65d029820a66"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 27 11:50:16 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:51 2008 -0700"
      },
      "message": "bluetooth: remove improper bluetooth class symlinks.\n\nDon\u0027t create symlinks in a class to a device that is not owned by the\nclass.  If the bluetooth subsystem really wants to point to all of the\ndevices it controls, it needs to create real devices, not fake symlinks.\n\nCc: Maxim Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "db6d8c7a4027b48d797b369a53f8470aaeed7063",
      "tree": "e140c104a89abc2154e1f41a7db8ebecbb6fa0b4",
      "parents": [
        "3a533374283aea50eab3976d8a6d30532175f009",
        "fb65a7c091529bfffb1262515252c0d0f6241c5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (1232 commits)\n  iucv: Fix bad merging.\n  net_sched: Add size table for qdiscs\n  net_sched: Add accessor function for packet length for qdiscs\n  net_sched: Add qdisc_enqueue wrapper\n  highmem: Export totalhigh_pages.\n  ipv6 mcast: Omit redundant address family checks in ip6_mc_source().\n  net: Use standard structures for generic socket address structures.\n  ipv6 netns: Make several \"global\" sysctl variables namespace aware.\n  netns: Use net_eq() to compare net-namespaces for optimization.\n  ipv6: remove unused macros from net/ipv6.h\n  ipv6: remove unused parameter from ip6_ra_control\n  tcp: fix kernel panic with listening_get_next\n  tcp: Remove redundant checks when setting eff_sacks\n  tcp: options clean up\n  tcp: Fix MD5 signatures for non-linear skbs\n  sctp: Update sctp global memory limit allocations.\n  sctp: remove unnecessary byteshifting, calculate directly in big-endian\n  sctp: Allow only 1 listening socket with SO_REUSEADDR\n  sctp: Do not leak memory on multiple listen() calls\n  sctp: Support ipv6only AF_INET6 sockets.\n  ...\n"
    },
    {
      "commit": "a352def21a642133758b868c71bee12ab34ad5c5",
      "tree": "95d0f7229f9e4afccdc6fbbf11f7f5c6dd83b0fd",
      "parents": [
        "e1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:53:12 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:34 2008 -0700"
      },
      "message": "tty: Ldisc revamp\n\nMove the line disciplines towards a conventional -\u003eops arrangement.  For\nthe moment the actual \u0027tty_ldisc\u0027 struct in the tty is kept as part of\nthe tty struct but this can then be changed if it turns out that when it\nall settles down we want to refcount ldiscs separately to the tty.\n\nPull the ldisc code out of /proc and put it with our ldisc code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "407d819cf0fd54c6fc1138a509225696aecafd15",
      "tree": "b653a5c8c09f7c316f5f98947be262e27a4ca33a",
      "parents": [
        "7abbcd6a4c8d6179121f2915a761b1133bf1cd99",
        "b1235d79611e78a07629b4cbe53291c9cffd1834"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:30:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:30:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "b1235d79611e78a07629b4cbe53291c9cffd1834",
      "tree": "b12b694d991e62a761d48ee4bb12b6eade753f78",
      "parents": [
        "7cb127d5b0e7af7a0afd23785722ca3edab4ceff"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:54 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:54 2008 +0200"
      },
      "message": "[Bluetooth] Allow security for outgoing L2CAP connections\n\nWhen requested the L2CAP layer will now enforce authentication and\nencryption on outgoing connections. The usefulness of this feature\nis kinda limited since it will not allow proper connection ownership\ntracking until the authentication procedure has been finished. This\nis a limitation of Bluetooth 2.0 and before and can only be fixed by\nusing Simple Pairing.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7cb127d5b0e7af7a0afd23785722ca3edab4ceff",
      "tree": "67293f99530de5a7c826656143477ee41251750e",
      "parents": [
        "ec8dab36e0738d3059980d144e34f16a26bbda7d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:53 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:53 2008 +0200"
      },
      "message": "[Bluetooth] Add option to disable eSCO connection creation\n\nIt has been reported that some eSCO capable headsets are not able to\nconnect properly. The real reason for this is unclear at the moment. So\nfor easier testing add a module parameter to disable eSCO connection\ncreation.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ec8dab36e0738d3059980d144e34f16a26bbda7d",
      "tree": "d1854559838c4ac228c9586faae44625c08d30ba",
      "parents": [
        "a0c22f226502be6eab37a1d9bf6fb0fadf551376"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:53 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:53 2008 +0200"
      },
      "message": "[Bluetooth] Signal user-space for HIDP and BNEP socket errors\n\nWhen using the HIDP or BNEP kernel support, the user-space needs to\nknow if the connection has been terminated for some reasons. Wake up\nthe application if that happens. Otherwise kernel and user-space are\nno longer on the same page and weird behaviors can happen.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a0c22f226502be6eab37a1d9bf6fb0fadf551376",
      "tree": "fe0237624038290fc0d84ce5ee97a65c49b56818",
      "parents": [
        "8b6b3da765af9600b5edd8e3e84a20523e975884"
      ],
      "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] Move pending packets from RFCOMM socket to TTY\n\nWhen an incoming RFCOMM socket connection gets converted into a TTY,\nit can happen that packets are lost. This mainly happens with the\nHandsfree profile where the remote side starts sending data right\naway. The problem is that these packets are in the socket receive\nqueue. So when creating the TTY make sure to copy all pending packets\nfrom the socket receive queue to a private queue inside the TTY.\n\nTo make this actually work, the flow control on the newly created TTY\nwill be disabled and only enabled again when the TTY is opened by an\napplication. And right before that, the pending packets will be put\ninto the TTY flip buffer.\n\nSigned-off-by: Denis Kenzior \u003cdenis.kenzior@trolltech.com\u003e\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": "ca37bdd53b5af06d00e792f2415b93206aa2a541",
      "tree": "02e030b02e650e0508243f43f130291e74c194de",
      "parents": [
        "78c6a1744fafc3a396f85c1970eb78839b55af74"
      ],
      "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] Use non-canonical TTY by default for RFCOMM\n\nWhile the RFCOMM TTY emulation can act like a real serial port, in\nreality it is not used like this. So to not mess up stupid applications,\nuse the non-canonical mode by default.\n\nSigned-off-by: Denis Kenzior \u003cdenis.kenzior@trolltech.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "78c6a1744fafc3a396f85c1970eb78839b55af74",
      "tree": "ae93d2e5e7c399f09996f5bae360b028ce448cdc",
      "parents": [
        "7d0db0a373195385a2e0b19d1f5e4b186fdcffac"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:51 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:51 2008 +0200"
      },
      "message": "[Bluetooth] Update Bluetooth core version number\n\nWith all the Bluetooth 2.1 changes and the support for Simple Pairing,\nit is important to update the Bluetooth core version number.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7d0db0a373195385a2e0b19d1f5e4b186fdcffac",
      "tree": "4e82fafd39eb0a32bfb0a340302dd0baf15410e0",
      "parents": [
        "43cbeee9f9b26300275e4e2d55ed1607f8c5f760"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:51 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:51 2008 +0200"
      },
      "message": "[Bluetooth] Use a more unique bus name for connections\n\nWhen attaching Bluetooth low-level connections to the bus, the bus name\nis constructed from the remote address since at that time the connection\nhandle is not assigned yet. This has worked so far, but also caused a\nlot of troubles. It is better to postpone the creation of the sysfs\nentry to the time when the connection actually has been established\nand then use its connection handle as unique identifier.\n\nThis also fixes the case where two different adapters try to connect\nto the same remote device.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "43cbeee9f9b26300275e4e2d55ed1607f8c5f760",
      "tree": "42ca68acb1043291df2015be01b81c09eeb5fb80",
      "parents": [
        "3241ad820dbb172021e0268b5611031991431626"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:51 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:51 2008 +0200"
      },
      "message": "[Bluetooth] Add support for TIOCOUTQ and TIOCINQ ioctls\n\nAlmost every protocol family supports the TIOCOUTQ and TIOCINQ ioctls\nand even Bluetooth could make use of them. When implementing audio\nstreaming and integration with GStreamer or PulseAudio they will allow\na better timing and synchronization.\n\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": "f8558555f31e177e2644f3c8116801c3e5c29974",
      "tree": "5ad03ff814c4e1d0619e75d5f5a6033beff1c177",
      "parents": [
        "769be974d0c7b4fe1a52f9cdaad22259b60953f7"
      ],
      "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] Initiate authentication during connection establishment\n\nWith Bluetooth 2.1 and Simple Pairing the requirement is that any new\nconnection needs to be authenticated and that encryption has been\nswitched on before allowing L2CAP to use it. So make sure that all\nthe requirements are fulfilled and otherwise drop the connection with\na minimal disconnect timeout of 10 milliseconds.\n\nThis change only affects Bluetooth 2.1 devices and Simple Pairing\nneeds to be enabled locally and in the remote host stack. The previous\nchanges made sure that these information are discovered before any\nkind of authentication and encryption is triggered.\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": "a8bd28baf21b9ee6b8486666b771283e566c0d31",
      "tree": "6e98a4bd353ac3abd808698b9bca05abac6168b1",
      "parents": [
        "41a96212b3b7b3cd59e8e8d33e6dabf0e21d9778"
      ],
      "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] Export remote Simple Pairing mode via sysfs\n\nSince the remote Simple Pairing mode is stored together with the\ninquiry cache, it makes sense to show it together with the other\ninformation.\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": "c7bdd5026d28d178238bd794c61612602a54d55e",
      "tree": "c79bd21f11ceacdf31255c536861587edb8967b5",
      "parents": [
        "f383f2750af19fe6f820edf40d8729f9741c5b37"
      ],
      "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] Update class of device value whenever possible\n\nThe class of device value can only be retrieved via inquiry or during\nan incoming connection request. Outgoing connections can\u0027t ask for the\nclass of device. To compensate for this the value is stored and copied\nvia the inquiry cache, but currently only updated via inquiry. This\nupdate should also happen during an incoming connection request.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f383f2750af19fe6f820edf40d8729f9741c5b37",
      "tree": "95163bddb967074d7e11b456b5b4aadb89257fba",
      "parents": [
        "e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6"
      ],
      "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] Some cleanups for HCI event handling\n\nSome minor cosmetic cleanups to the HCI event handling to make the\ncode easier to read and understand.\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": "9dc0a3afc08d6c20c284994dcd84531787d00ec2",
      "tree": "16658484ca53d7fbbf60d0a6c12590a5d3043de9",
      "parents": [
        "ae29319649b80ed9d28d7b4f164e3f5f75020fc8"
      ],
      "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] Support the case when headset falls back to SCO link\n\nWhen trying to establish an eSCO link between two devices then it can\nhappen that the remote device falls back to a SCO link. Currently this\ncase is not handled correctly and the message dispatching will break\nsince it is looking for eSCO packets. So in case the configured link\nfalls back to SCO overwrite the link type with the correct value.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ae29319649b80ed9d28d7b4f164e3f5f75020fc8",
      "tree": "71026720bc10d9e4c9f1b971a531e175aa9d2e16",
      "parents": [
        "9719f8afce34d3d04e884873a8a5e3483e30974c"
      ],
      "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] Update authentication status after successful encryption\n\nThe authentication status is not communicated to both parties. This is\nactually a flaw in the Bluetooth specification. Only the requesting side\nreally knows if the authentication was successful or not. This piece of\ninformation is however needed on the other side to know if it has to\ntrigger the authentication procedure or not. Worst case is that both\nsides will request authentication at different times, but this should\nbe avoided since it costs extra time when setting up a new connection.\n\nFor Bluetooth encryption it is required to authenticate the link first\nand the encryption status is communicated to both sides. So when a link\nis switched to encryption it is possible to update the authentication\nstatus since it implies an authenticated link.\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": "79d554a6976a295aa9212172b218f29ca71c3b3d",
      "tree": "430d106c1ebf194fcf208a145d32a2829ffca5a6",
      "parents": [
        "b7279469d66b55119784b8b9529c99c1955fe747"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:44 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:44 2008 +0200"
      },
      "message": "[Bluetooth] Change retrieval of L2CAP features mask\n\nGetting the remote L2CAP features mask is really important, but doing\nthis as less intrusive as possible is tricky. To play nice with older\nsystems and Bluetooth qualification testing, the features mask is now\nonly retrieved in two specific cases and only once per lifetime of an\nACL link.\n\nWhen trying to establish a L2CAP connection and the remote features mask\nis unknown, the L2CAP information request is sent when the ACL link goes\ninto connected state. This applies only to outgoing connections and also\nonly for the connection oriented channels.\n\nThe second case is when a connection request has been received. In this\ncase a connection response with the result pending and the information\nrequest will be send. After receiving an information response or if the\ntimeout gets triggered, the normal connection setup process with security\nsetup will be initiated.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "537d59af73d894750cff14f90fe2b6d77fbab15b",
      "tree": "bff5d6efbffbf6685cac5698efe7e3192e391047",
      "parents": [
        "c3b25b32e8bef526cca748e1ba023c6bdd705a99"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sun Jun 01 23:50:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 03 14:27:17 2008 -0700"
      },
      "message": "bluetooth: rfcomm_dev_state_change deadlock fix\n\nThere\u0027s logic in __rfcomm_dlc_close:\n\trfcomm_dlc_lock(d);\n\td-\u003estate \u003d BT_CLOSED;\n\td-\u003estate_changed(d, err);\n\trfcomm_dlc_unlock(d);\n\nIn rfcomm_dev_state_change, it\u0027s possible that rfcomm_dev_put try to\ntake the dlc lock, then we will deadlock.\n\nHere fixed it by unlock dlc before rfcomm_dev_get in\nrfcomm_dev_state_change.\n\nwhy not unlock just before rfcomm_dev_put? it\u0027s because there\u0027s\nanother problem.  rfcomm_dev_get/rfcomm_dev_del will take\nrfcomm_dev_lock, but in rfcomm_dev_add the lock order is :\nrfcomm_dev_lock --\u003e dlc lock\n\nso I unlock dlc before the taken of rfcomm_dev_lock.\n\nActually it\u0027s a regression caused by commit\n1905f6c736cb618e07eca0c96e60e3c024023428 (\"bluetooth :\n__rfcomm_dlc_close lock fix\"), the dlc state_change could be two\ncallbacks : rfcomm_sk_state_change and rfcomm_dev_state_change. I\nmissed the rfcomm_sk_state_change that time.\n\nThanks Arjan van de Ven \u003carjan@linux.intel.com\u003e for the effort in\ncommit 4c8411f8c115def968820a4df6658ccfd55d7f1a (\"bluetooth: fix\nlocking bug in the rfcomm socket cleanup handling\") but he missed the\nrfcomm_dev_state_change lock issue.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c8411f8c115def968820a4df6658ccfd55d7f1a",
      "tree": "4a2d592d9b41fabbd184ddaa7d2839f87f0a5ac9",
      "parents": [
        "825de27d9e40b3117b29a79d412b7a4b78c5d815"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu May 29 01:32:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 29 01:32:47 2008 -0700"
      },
      "message": "bluetooth: fix locking bug in the rfcomm socket cleanup handling\n\nin net/bluetooth/rfcomm/sock.c, rfcomm_sk_state_change() does the\nfollowing operation:\n\n        if (parent \u0026\u0026 sock_flag(sk, SOCK_ZAPPED)) {\n                /* We have to drop DLC lock here, otherwise\n                 * rfcomm_sock_destruct() will dead lock. */\n                rfcomm_dlc_unlock(d);\n                rfcomm_sock_kill(sk);\n                rfcomm_dlc_lock(d);\n        }\n}\n\nwhich is fine, since rfcomm_sock_kill() will call sk_free() which will call\nrfcomm_sock_destruct() which takes the rfcomm_dlc_lock()... so far so good.\n\nHOWEVER, this assumes that the rfcomm_sk_state_change() function always gets\ncalled with the rfcomm_dlc_lock() taken. This is the case for all but one\ncase, and in that case where we don\u0027t have the lock, we do a double unlock\nfollowed by an attempt to take the lock, which due to underflow isn\u0027t\ngoing anywhere fast.\n\nThis patch fixes this by moving the stragling case inside the lock, like\nthe other usages of the same call are doing in this code.\n\nThis was found with the help of the www.kerneloops.org project, where this\ndeadlock was observed 51 times at this point in time:\nhttp://www.kerneloops.org/search.php?search\u003drfcomm_sock_destruct\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83985319393973f280ca2a797047780a7955cf19",
      "tree": "438e92affd9c605188404e920b8605670d0d6ab0",
      "parents": [
        "260ffeed3fd185d29f08e98fb47c09e71bb59cd8"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri May 02 16:25:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 16:25:46 2008 -0700"
      },
      "message": "bluetooth: use get/put_unaligned_* helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a",
      "tree": "4e1ca325dde22f1ac21c9da0be509e87e922e604",
      "parents": [
        "c0f39322c335412339dec16ebfd2a05ceba5ebcf",
        "802fb176d8c635ae42da31b80841c26e8c7338a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/s2io.c\n"
    },
    {
      "commit": "1905f6c736cb618e07eca0c96e60e3c024023428",
      "tree": "321a987569bf380fe1960879d03dd5e98fab92cc",
      "parents": [
        "68845cb2c82275efd7390026bba70c320ca6ef86"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Apr 01 23:59:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 01 23:59:06 2008 -0700"
      },
      "message": "bluetooth : __rfcomm_dlc_close lock fix\n\nLockdep warning will be trigged while rfcomm connection closing.\n\nThe locks taken in rfcomm_dev_add:\nrfcomm_dev_lock --\u003e d-\u003elock\n\nIn __rfcomm_dlc_close:\nd-\u003elock --\u003e rfcomm_dev_lock (in rfcomm_dev_state_change)\n\nThere\u0027s two way to fix it, one is in rfcomm_dev_add we first locking\nd-\u003elock then the rfcomm_dev_lock\n\nThe other (in this patch), remove the locking of d-\u003elock for\nrfcomm_dev_state_change because just locking \"d-\u003estate \u003d BT_CLOSED;\"\nis enough.\n\n[  295.002046] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  295.002046] [ INFO: possible circular locking dependency detected ]\n[  295.002046] 2.6.25-rc7 #1\n[  295.002046] -------------------------------------------------------\n[  295.002046] krfcommd/2705 is trying to acquire lock:\n[  295.002046]  (rfcomm_dev_lock){-.--}, at: [\u003cf89a090a\u003e] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]\n[  295.002046] \n[  295.002046] but task is already holding lock:\n[  295.002046]  (\u0026d-\u003elock){--..}, at: [\u003cf899c533\u003e] __rfcomm_dlc_close+0x43/0xd0 [rfcomm]\n[  295.002046] \n[  295.002046] which lock already depends on the new lock.\n[  295.002046] \n[  295.002046] \n[  295.002046] the existing dependency chain (in reverse order) is:\n[  295.002046] \n[  295.002046] -\u003e #1 (\u0026d-\u003elock){--..}:\n[  295.002046]        [\u003cc0149b23\u003e] check_prev_add+0xd3/0x200\n[  295.002046]        [\u003cc0149ce5\u003e] check_prevs_add+0x95/0xe0\n[  295.002046]        [\u003cc0149f6f\u003e] validate_chain+0x23f/0x320\n[  295.002046]        [\u003cc014b7b1\u003e] __lock_acquire+0x1c1/0x760\n[  295.002046]        [\u003cc014c349\u003e] lock_acquire+0x79/0xb0\n[  295.002046]        [\u003cc03d6b99\u003e] _spin_lock+0x39/0x80\n[  295.002046]        [\u003cf89a01c0\u003e] rfcomm_dev_add+0x240/0x360 [rfcomm]\n[  295.002046]        [\u003cf89a047e\u003e] rfcomm_create_dev+0x6e/0xe0 [rfcomm]\n[  295.002046]        [\u003cf89a0823\u003e] rfcomm_dev_ioctl+0x33/0x60 [rfcomm]\n[  295.002046]        [\u003cf899facc\u003e] rfcomm_sock_ioctl+0x2c/0x50 [rfcomm]\n[  295.002046]        [\u003cc0363d38\u003e] sock_ioctl+0x118/0x240\n[  295.002046]        [\u003cc0194196\u003e] vfs_ioctl+0x76/0x90\n[  295.002046]        [\u003cc0194446\u003e] do_vfs_ioctl+0x56/0x140\n[  295.002046]        [\u003cc0194569\u003e] sys_ioctl+0x39/0x60\n[  295.002046]        [\u003cc0104faa\u003e] syscall_call+0x7/0xb\n[  295.002046]        [\u003cffffffff\u003e] 0xffffffff\n[  295.002046] \n[  295.002046] -\u003e #0 (rfcomm_dev_lock){-.--}:\n[  295.002046]        [\u003cc0149a84\u003e] check_prev_add+0x34/0x200\n[  295.002046]        [\u003cc0149ce5\u003e] check_prevs_add+0x95/0xe0\n[  295.002046]        [\u003cc0149f6f\u003e] validate_chain+0x23f/0x320\n[  295.002046]        [\u003cc014b7b1\u003e] __lock_acquire+0x1c1/0x760\n[  295.002046]        [\u003cc014c349\u003e] lock_acquire+0x79/0xb0\n[  295.002046]        [\u003cc03d6639\u003e] _read_lock+0x39/0x80\n[  295.002046]        [\u003cf89a090a\u003e] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]\n[  295.002046]        [\u003cf899c548\u003e] __rfcomm_dlc_close+0x58/0xd0 [rfcomm]\n[  295.002046]        [\u003cf899d44f\u003e] rfcomm_recv_ua+0x6f/0x120 [rfcomm]\n[  295.002046]        [\u003cf899e061\u003e] rfcomm_recv_frame+0x171/0x1e0 [rfcomm]\n[  295.002046]        [\u003cf899e357\u003e] rfcomm_run+0xe7/0x550 [rfcomm]\n[  295.002046]        [\u003cc013c18c\u003e] kthread+0x5c/0xa0\n[  295.002046]        [\u003cc0105c07\u003e] kernel_thread_helper+0x7/0x10\n[  295.002046]        [\u003cffffffff\u003e] 0xffffffff\n[  295.002046] \n[  295.002046] other info that might help us debug this:\n[  295.002046] \n[  295.002046] 2 locks held by krfcommd/2705:\n[  295.002046]  #0:  (rfcomm_mutex){--..}, at: [\u003cf899e2eb\u003e] rfcomm_run+0x7b/0x550 [rfcomm]\n[  295.002046]  #1:  (\u0026d-\u003elock){--..}, at: [\u003cf899c533\u003e] __rfcomm_dlc_close+0x43/0xd0 [rfcomm]\n[  295.002046] \n[  295.002046] stack backtrace:\n[  295.002046] Pid: 2705, comm: krfcommd Not tainted 2.6.25-rc7 #1\n[  295.002046]  [\u003cc0128a38\u003e] ? printk+0x18/0x20\n[  295.002046]  [\u003cc014927f\u003e] print_circular_bug_tail+0x6f/0x80\n[  295.002046]  [\u003cc0149a84\u003e] check_prev_add+0x34/0x200\n[  295.002046]  [\u003cc0149ce5\u003e] check_prevs_add+0x95/0xe0\n[  295.002046]  [\u003cc0149f6f\u003e] validate_chain+0x23f/0x320\n[  295.002046]  [\u003cc014b7b1\u003e] __lock_acquire+0x1c1/0x760\n[  295.002046]  [\u003cc014c349\u003e] lock_acquire+0x79/0xb0\n[  295.002046]  [\u003cf89a090a\u003e] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]\n[  295.002046]  [\u003cc03d6639\u003e] _read_lock+0x39/0x80\n[  295.002046]  [\u003cf89a090a\u003e] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]\n[  295.002046]  [\u003cf89a090a\u003e] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]\n[  295.002046]  [\u003cf899c548\u003e] __rfcomm_dlc_close+0x58/0xd0 [rfcomm]\n[  295.002046]  [\u003cf899d44f\u003e] rfcomm_recv_ua+0x6f/0x120 [rfcomm]\n[  295.002046]  [\u003cf899e061\u003e] rfcomm_recv_frame+0x171/0x1e0 [rfcomm]\n[  295.002046]  [\u003cc014abd9\u003e] ? trace_hardirqs_on+0xb9/0x130\n[  295.002046]  [\u003cc03d6e89\u003e] ? _spin_unlock_irqrestore+0x39/0x70\n[  295.002046]  [\u003cf899e357\u003e] rfcomm_run+0xe7/0x550 [rfcomm]\n[  295.002046]  [\u003cc03d4559\u003e] ? __sched_text_start+0x229/0x4c0\n[  295.002046]  [\u003cc0120000\u003e] ? cpu_avg_load_per_task+0x20/0x30\n[  295.002046]  [\u003cf899e270\u003e] ? rfcomm_run+0x0/0x550 [rfcomm]\n[  295.002046]  [\u003cc013c18c\u003e] kthread+0x5c/0xa0\n[  295.002046]  [\u003cc013c130\u003e] ? kthread+0x0/0xa0\n[  295.002046]  [\u003cc0105c07\u003e] kernel_thread_helper+0x7/0x10\n[  295.002046]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68845cb2c82275efd7390026bba70c320ca6ef86",
      "tree": "d28413ecb9e8695bc3292386d3cfacb76928a668",
      "parents": [
        "4965291acf8cc2c31dcb2fc7d292a04ee08da2dd"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Apr 01 23:58:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 01 23:58:35 2008 -0700"
      },
      "message": "bluetooth : use lockdep sub-classes for diffrent bluetooth protocol\n\n\u0027rfcomm connect\u0027 will trigger lockdep warnings which is caused by\nlocking diffrent kinds of bluetooth sockets at the same time.\n\nSo using sub-classes per AF_BLUETOOTH sub-type for lockdep.\n\nThanks for the hints from dave jones.\n\n---\n\u003e From: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\n\u003e Date: Thu, 27 Mar 2008 12:21:56 -0400\n\u003e\n\u003e \u003e Mar 27 08:10:57 localhost kernel: Pid: 3611, comm: obex-data-serve Not tainted 2.6.25-0.121.rc5.git4.fc9 #1\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [__lock_acquire+2287/3089] __lock_acquire+0x8ef/0xc11\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [sched_clock+8/11] ? sched_clock+0x8/0xb\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [lock_acquire+106/144] lock_acquire+0x6a/0x90\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [\u003cf8bd9321\u003e] ? l2cap_sock_bind+0x29/0x108 [l2cap]\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [lock_sock_nested+182/198] lock_sock_nested+0xb6/0xc6\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [\u003cf8bd9321\u003e] ? l2cap_sock_bind+0x29/0x108 [l2cap]\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [security_socket_post_create+22/27] ? security_socket_post_create+0x16/0x1b\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [__sock_create+388/472] ? __sock_create+0x184/0x1d8\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [\u003cf8bd9321\u003e] l2cap_sock_bind+0x29/0x108 [l2cap]\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [kernel_bind+10/13] kernel_bind+0xa/0xd\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [\u003cf8dad3d7\u003e] rfcomm_dlc_open+0xc8/0x294 [rfcomm]\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [lock_sock_nested+187/198] ? lock_sock_nested+0xbb/0xc6\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [\u003cf8dae18c\u003e] rfcomm_sock_connect+0x8b/0xc2 [rfcomm]\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [sys_connect+96/125] sys_connect+0x60/0x7d\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [__lock_acquire+1370/3089] ? __lock_acquire+0x55a/0xc11\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [sys_socketcall+140/392] sys_socketcall+0x8c/0x188\n\u003e \u003e Mar 27 08:10:57 localhost kernel:  [syscall_call+7/11] syscall_call+0x7/0xb\n---\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5fb2962c6157495e1365e4f30568ed3830d35a7",
      "tree": "952baad67a821bf47b46f7cd4d748e0fa3144e90",
      "parents": [
        "293a3839304cac32e58929db0c23e00a509fbfc5"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Mar 28 16:17:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:17:38 2008 -0700"
      },
      "message": "bluetooth: replace deprecated RW_LOCK_UNLOCKED macros\n\nThe older RW_LOCK_UNLOCKED macros defeat lockdep state tracing so\nreplace them with the newer __RW_LOCK_UNLOCKED macros.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "a4e2acf01a7e5fcd960fc332335ca10313641f4b",
      "tree": "fc6fa7b3f8c74c46aee76a4f62bad997297e3129",
      "parents": [
        "04005dd9ae7bf1031408869c33df96149ebb1086"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Wed Mar 05 18:47:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:47:40 2008 -0800"
      },
      "message": "bluetooth: make bnep_sock_cleanup() return void\n\nbnep_sock_cleanup() always returns 0 and its return value isn\u0027t used\nanywhere in the code.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "147e2d59833e994cc99341806a88b9e59be41391",
      "tree": "a05da0bc5c4ae84140a62ec5f5f9589070a9e9ec",
      "parents": [
        "09a76031f19bc77beb081e8ff7bfde731af93f50"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed Mar 05 18:45:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:45:59 2008 -0800"
      },
      "message": "bluetooth: hci_core: defer hci_unregister_sysfs()\n\nAlon Bar-Lev reports:\n\n Feb 16 23:41:33 alon1 usb 3-1: configuration #1 chosen from 1 choice\nFeb 16 23:41:33 alon1 BUG: unable to handle kernel NULL pointer  \ndereference at virtual address 00000008\nFeb 16 23:41:33 alon1 printing eip: c01b2db6 *pde \u003d 00000000\nFeb 16 23:41:33 alon1 Oops: 0000 [#1] PREEMPT\nFeb 16 23:41:33 alon1 Modules linked in: ppp_deflate zlib_deflate  \nzlib_inflate bsd_comp ppp_async rfcomm l2cap hci_usb vmnet(P)  \nvmmon(P) tun radeon drm autofs4 ipv6 aes_generic crypto_algapi  \nieee80211_crypt_ccmp nf_nat_irc nf_nat_ftp nf_conntrack_irc  \nnf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat ipt_REJECT  \nxt_tcpudp ipt_LOG xt_limit xt_state nf_conntrack_ipv4 nf_conntrack  \niptable_filter ip_tables x_tables snd_pcm_oss snd_mixer_oss  \nsnd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device  \nbluetooth ppp_generic slhc ioatdma dca cfq_iosched cpufreq_powersave  \ncpufreq_ondemand cpufreq_conservative acpi_cpufreq freq_table uinput  \nfan af_packet nls_cp1255 nls_iso8859_1 nls_utf8 nls_base pcmcia  \nsnd_intel8x0 snd_ac97_codec ac97_bus snd_pcm nsc_ircc snd_timer  \nipw2200 thinkpad_acpi irda snd ehci_hcd yenta_socket uhci_hcd  \npsmouse ieee80211 soundcore intel_agp hwmon rsrc_nonstatic pcspkr  \ne1000 crc_ccitt snd_page_alloc i2c_i801 ieee80211_crypt pcmcia_core  \nagpgart thermal bat!\ntery nvram rtc sr_mod ac sg firmware_class button processor cdrom  \nunix usbcore evdev ext3 jbd ext2 mbcache loop ata_piix libata sd_mod  \nscsi_mod\nFeb 16 23:41:33 alon1\nFeb 16 23:41:33 alon1 Pid: 4, comm: events/0 Tainted: P         \n(2.6.24-gentoo-r2 #1)\nFeb 16 23:41:33 alon1 EIP: 0060:[\u003cc01b2db6\u003e] EFLAGS: 00010282 CPU: 0\nFeb 16 23:41:33 alon1 EIP is at sysfs_get_dentry+0x26/0x80\nFeb 16 23:41:33 alon1 EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX:  \nf48a2210\nFeb 16 23:41:33 alon1 ESI: f72eb900 EDI: f4803ae0 EBP: f4803ae0 ESP:  \nf7c49efc\nFeb 16 23:41:33 alon1 hcid[7004]: HCI dev 0 registered\nFeb 16 23:41:33 alon1 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068\nFeb 16 23:41:33 alon1 Process events/0 (pid: 4, ti\u003df7c48000  \ntask\u003df7c3efc0 task.ti\u003df7c48000)\nFeb 16 23:41:33 alon1 Stack: f7cb6140 f4822668 f7e71e10 c01b304d  \nffffffff ffffffff fffffffe c030ba9c\nFeb 16 23:41:33 alon1 f7cb6140 f4822668 f6da6720 f7cb6140 f4822668  \nf6da6720 c030ba8e c01ce20b\nFeb 16 23:41:33 alon1 f6e9dd00 c030ba8e f6da6720 f6e9dd00 f6e9dd00  \n00000000 f4822600 00000000\nFeb 16 23:41:33 alon1 Call Trace:\nFeb 16 23:41:33 alon1 [\u003cc01b304d\u003e] sysfs_move_dir+0x3d/0x1f0\nFeb 16 23:41:33 alon1 [\u003cc01ce20b\u003e] kobject_move+0x9b/0x120\nFeb 16 23:41:33 alon1 [\u003cc0241711\u003e] device_move+0x51/0x110\nFeb 16 23:41:33 alon1 [\u003cf9aaed80\u003e] del_conn+0x0/0x70 [bluetooth]\nFeb 16 23:41:33 alon1 [\u003cf9aaed99\u003e] del_conn+0x19/0x70 [bluetooth]\nFeb 16 23:41:33 alon1 [\u003cc012c1a1\u003e] run_workqueue+0x81/0x140\nFeb 16 23:41:33 alon1 [\u003cc02c0c88\u003e] schedule+0x168/0x2e0\nFeb 16 23:41:33 alon1 [\u003cc012fc70\u003e] autoremove_wake_function+0x0/0x50\nFeb 16 23:41:33 alon1 [\u003cc012c9cb\u003e] worker_thread+0x9b/0xf0\nFeb 16 23:41:33 alon1 [\u003cc012fc70\u003e] autoremove_wake_function+0x0/0x50\nFeb 16 23:41:33 alon1 [\u003cc012c930\u003e] worker_thread+0x0/0xf0\nFeb 16 23:41:33 alon1 [\u003cc012f962\u003e] kthread+0x42/0x70\nFeb 16 23:41:33 alon1 [\u003cc012f920\u003e] kthread+0x0/0x70\nFeb 16 23:41:33 alon1 [\u003cc0104c2f\u003e] kernel_thread_helper+0x7/0x18\nFeb 16 23:41:33 alon1 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nFeb 16 23:41:33 alon1 Code: 26 00 00 00 00 57 89 c7 a1 50 1b 3a c0  \n56 53 8b 70 38 85 f6 74 08 8b 0e 85 c9 74 58 ff 06 8b 56 50 39 fa 74  \n47 89 fb eb 02 89 c3 \u003c8b\u003e 43 08 39 c2 75 f7 8b 46 08 83 c0 68 e8 98  \ne7 10 00 8b 43 10\nFeb 16 23:41:33 alon1 EIP: [\u003cc01b2db6\u003e] sysfs_get_dentry+0x26/0x80  \nSS:ESP 0068:f7c49efc\nFeb 16 23:41:33 alon1 ---[ end trace aae864e9592acc1d ]---\n\nDefer hci_unregister_sysfs because hci device could be destructed\nwhile hci conn devices still there.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nTested-by: Stefan Seyfried \u003cseife@suse.de\u003e\nAcked-by: Alon Bar-Lev \u003calon.barlev@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8e8440f53593b5f9c695f18b493b535873dbb9da",
      "tree": "e0429845227215de8284bcd9e7824ad26d4c8b7b",
      "parents": [
        "7e36763b2c204d59de4e88087f84a2c0c8421f25"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Mar 03 12:18:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 12:18:55 2008 -0800"
      },
      "message": "[BLUETOOTH]: l2cap info_timer delete fix in hci_conn_del\n\nWhen the l2cap info_timer is active the info_state will be set to\nL2CAP_INFO_FEAT_MASK_REQ_SENT, and it will be unset after the timer is\ndeleted or timeout triggered.\n\nHere in l2cap_conn_del only call del_timer_sync when the info_state is\nset to L2CAP_INFO_FEAT_MASK_REQ_SENT.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ab2273175bd59616b6e85c0f88b154e8bd97413",
      "tree": "d77cb79e89925a0def66bb710e97896508f45efa",
      "parents": [
        "5f2f40a92e007ec5b503db20f3f70cb331c64f65"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 26 17:42:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 26 17:42:56 2008 -0800"
      },
      "message": "bluetooth: delete timer in l2cap_conn_del()\n\nDelete a possibly armed timer before kfree\u0027ing the connection object.\n\nSolves: http://lkml.org/lkml/2008/2/15/514\n\nReported-by:Quel Qun \u003ckelk1@comcast.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07ce198a1eb3431d04a6d59ea9fb7b71f21e33b1",
      "tree": "fe6e6208bdcdfb7bbb0c81923efcb75bf73a299b",
      "parents": [
        "4bc87e62775052aac0be7574d5f84ff06f61c6b4",
        "a442585952f137bd4cdb1f2f3166e4157d383b82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 19 07:52:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 19 07:52:45 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits)\n  [NIU]: Bump driver version and release date.\n  [NIU]: Fix BMAC alternate MAC address indexing.\n  net: fix kernel-doc warnings in header files\n  [IPV6]: Use BUG_ON instead of if + BUG in fib6_del_route.\n  [IPV6]: dst_entry leak in ip4ip6_err. (resend)\n  bluetooth: do not move child device other than rfcomm\n  bluetooth: put hci dev after del conn\n  [NET]: Elminate spurious print_mac() calls.\n  [BLUETOOTH] hci_sysfs.c: Kill build warning.\n  [NET]: Remove MAC_FMT\n  net/8021q/vlan_dev.c: Use print_mac.\n  [XFRM]: Fix ordering issue in xfrm_dst_hash_transfer().\n  [BLUETOOTH] net/bluetooth/hci_core.c: Use time_* macros\n  [IPV6]: Fix hardcoded removing of old module code\n  [NETLABEL]: Move some initialization code into __init section.\n  [NETLABEL]: Shrink the genl-ops registration code.\n  [AX25] ax25_out: check skb for NULL in ax25_kick()\n  [TCP]: Fix tcp_v4_send_synack() comment\n  [IPV4]: fix alignment of IP-Config output\n  Documentation: fix tcp.txt\n  ...\n"
    },
    {
      "commit": "8ac62dc773c149d7b7124b4912b425842f905d3e",
      "tree": "fca71bee2c49e236496170dc21a5bd4e49f69309",
      "parents": [
        "0cd63c8089f0f6316df1393c3a93bdbc67ab314d"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Feb 18 20:45:41 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 20:45:41 2008 -0800"
      },
      "message": "bluetooth: do not move child device other than rfcomm\n\nhci conn child devices other than rfcomm tty should not be moved here.\nThis is my lost, thanks for Barnaby\u0027s reporting and testing.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e \nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cd63c8089f0f6316df1393c3a93bdbc67ab314d",
      "tree": "c1ce4d8c32439af25bd45cb95376258b429f576a",
      "parents": [
        "8f789c48448aed74fe1c07af76de8f04adacec7d"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Feb 18 20:44:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 20:44:01 2008 -0800"
      },
      "message": "bluetooth: put hci dev after del conn\n\nMove hci_dev_put to del_conn to avoid hci dev going away before hci conn.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "988d0093f9cb2bf27c299e373f9cbaac47dab2c1",
      "tree": "361376caf0e73c59e59d87766aefb7de807c2e67",
      "parents": [
        "fea5fa875eb235dc186b1f5184eb36abc63e26cc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 00:20:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 00:20:50 2008 -0800"
      },
      "message": "[BLUETOOTH] hci_sysfs.c: Kill build warning.\n\nnet/bluetooth/hci_sysfs.c: In function ‘del_conn’:\nnet/bluetooth/hci_sysfs.c:339: warning: suggest parentheses around assignment used as truth value\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82453021b8be85171350c695d7ebafe7b517c812",
      "tree": "174afa01ab8c168ab97e6a017c9e441d8f89834d",
      "parents": [
        "5ee46e562c9c10a5e25920c4406a42061cf27839"
      ],
      "author": {
        "name": "S.Çağlar Onur",
        "email": "caglar@pardus.org.tr",
        "time": "Sun Feb 17 23:25:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 17 23:25:57 2008 -0800"
      },
      "message": "[BLUETOOTH] net/bluetooth/hci_core.c: Use time_* macros\n\nThe functions time_before, time_before_eq, time_after, and\ntime_after_eq are more robust for comparing jiffies against other\nvalues.\n\nSo following patch implements usage of the time_after() macro, defined\nat linux/jiffies.h, which deals with wrapping correctly\n\nSigned-off-by: S.Çağlar Onur \u003ccaglar@pardus.org.tr\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5606c2d4447e80b1d72406af4e78af1eda611d4",
      "tree": "ebdaa1a0aae4279b84af82651c16a8777f76bfe4",
      "parents": [
        "fbf6bfca76d50abef478ba902b8597ecbadfd390"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 15:03:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "remove final fastcall users\n\nfastcall always expands to empty, remove it.\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": "93d807401ced2320d0d1e56bf9de099bba5c0424",
      "tree": "8d9a471779124e7dea089ec59933b20d4c7480f4",
      "parents": [
        "6e46c8cb3cbfa7bafe78d43a3d57750605a2dfa3"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Feb 05 03:12:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:12:06 2008 -0800"
      },
      "message": "bluetooth rfcomm tty: destroy before tty_close()\n\nrfcomm dev could be deleted in tty_hangup, so we must not call\nrfcomm_dev_del again to prevent from destroying rfcomm dev before tty\nclose.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91f5cca3d1b4341624715f6dd01ee09be9af46c4",
      "tree": "19e12d37244cbe39203586da26ef055b92abef49",
      "parents": [
        "eff001e35a857361f3fb289fea86e97c334a5446"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Feb 05 03:07:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:07:58 2008 -0800"
      },
      "message": "bluetooth: uninlining\n\nRemove all those inlines which were either a) unneeded or b) increased code\nsize.\n\n          text    data     bss     dec     hex filename\nbefore:   6997      74       8    7079    1ba7 net/bluetooth/hidp/core.o\nafter:    6492      74       8    6574    19ae net/bluetooth/hidp/core.o\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eff001e35a857361f3fb289fea86e97c334a5446",
      "tree": "c7ec83833c94eab39fd844a36a51896a63878f8b",
      "parents": [
        "a26af1e08a3a1e0f88e6f2685ac2313d713a59c9"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Feb 05 03:07:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:07:14 2008 -0800"
      },
      "message": "bluetooth: hidp_process_hid_control remove unnecessary parameter dealing\n\nAccording to the bluetooth HID spec v1.0 chapter 7.4.2\n\n\"This code requests a major state change in a BT-HID device.  A HID_CONTROL\nrequest does not generate a HANDSHAKE response.\"\n\n\"A HID_CONTROL packet with a parameter of VIRTUAL_CABLE_UNPLUG is the only\nHID_CONTROL packet a device can send to a host.  A host will ignore all other\npackets.\"\n\nSo in the hidp_precess_hid_control function, we just need to deal with the\nUNLUG packet.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5396c9356efec1d3d818b786f69e081aaad4b98b",
      "tree": "e336503379e46e6e0f43795baf1ed91444ad69d5",
      "parents": [
        "30a50cc56679f56d7b866b1c29fd05802606fc5a"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Jan 31 18:33:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:33 2008 -0800"
      },
      "message": "[BLUETOOTH]: Fix bugs in previous conn add/del workqueue changes.\n\nJens Axboe noticed that we were queueing \u0026conn-\u003ework on both btaddconn\nand keventd_wq.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6c0632105f7d7548f1d642ba830088478d4f2b0",
      "tree": "63e06f0d8565e5704d3ebabfd1597ad995253434",
      "parents": [
        "2614fa59fa805cd488083c5602eb48533cdbc018"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Jan 29 21:14:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:12 2008 -0800"
      },
      "message": "[BLUETOOTH]: Add conn add/del workqueues to avoid connection fail.\n\nThe bluetooth hci_conn sysfs add/del executed in the default\nworkqueue.  If the del_conn is executed after the new add_conn with\nsame target, add_conn will failed with warning of \"same kobject name\".\n\nHere add btaddconn \u0026 btdelconn workqueues, flush the btdelconn\nworkqueue in the add_conn function to avoid the issue.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67b23219ce2f78352b0c566a472ff16c1b0fea9a",
      "tree": "c02e09a072d3461505033374e1026000abe2b753",
      "parents": [
        "3becd578c5c9aafde6f562bb1dfe20d420bce6e8"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Jan 07 22:38:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:48 2008 -0800"
      },
      "message": "[BLUETOOTH]: Use sockfd_put()\n\nThe function sockfd_lookup uses fget on the value that is stored in\nthe file field of the returned structure, so fput should ultimately be\napplied to this value.  This can be done directly, but it seems better\nto use the specific macro sockfd_put, which does the same thing.\n\nThe problem was fixed using the following semantic patch.\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@\nexpression s;\n@@\n\n   s \u003d sockfd_lookup(...)\n   ...\n+  sockfd_put(s);\n?- fput(s-\u003efile);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acea6852f32b8805e166d885ed7e9f0c7cd10d41",
      "tree": "515aefb6f5346d417933a6b8958d1052cea51f6a",
      "parents": [
        "667984d9e481e43a930a478c588dced98cb61fea"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Jan 21 22:35:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 23 03:11:39 2008 -0800"
      },
      "message": "[BLUETOOTH]: Move children of connection device to NULL before connection down.\n\nThe rfcomm tty device will possibly retain even when conn is down, and\nsysfs doesn\u0027t support zombie device moving, so this patch move the tty\ndevice before conn device is destroyed.\n\nFor the bug refered please see :\nhttp://lkml.org/lkml/2007/12/28/87\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f951375d470c1a20d92c34377991197e6bf17990",
      "tree": "c479a1b80c14072a9486214f034078ab6f524471",
      "parents": [
        "ecd2ebdea350c40e73c00d400d74c8a09c072082"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Jan 10 22:22:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 22:22:52 2008 -0800"
      },
      "message": "[BLUETOOTH]: rfcomm tty BUG_ON() code fix\n\n1) In tty.c the BUG_ON at line 115 will never be called, because the the\n   before list_del_init in this same function.\n\t115          BUG_ON(!list_empty(\u0026dev-\u003elist));\n   So move the list_del_init to rfcomm_dev_del \n\n2) The rfcomm_dev_del could be called from diffrent path\n   (rfcomm_tty_hangup/rfcomm_dev_state_change/rfcomm_release_dev),\n\n   So add another BUG_ON when the rfcomm_dev_del is called more than\n   one time.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38b7da09cfdb2202f08476d6fb22a47649a177ec",
      "tree": "1f83cbc232b36282d7ed94104d8ae47fe9c55756",
      "parents": [
        "2072c228c9a05c004a230620196da7607cdcc5b6"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sat Dec 29 19:17:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 29 19:17:47 2007 -0800"
      },
      "message": "[BLUETOOTH]: put_device before device_del fix\n\nBecause of workqueue delay, the put_device could be called before\ndevice_del, so move it to del_conn.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e \nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a524eccc7307b1d6e79f03fed79f9f34c016ce56",
      "tree": "ecf52ff4aa025cf860d92af3efede469585d5788",
      "parents": [
        "2cb3377a295aade1f2e192d4bea948b2196fb162"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 21:37:20 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:49 2007 -0700"
      },
      "message": "[Bluetooth] Convert RFCOMM to use kthread API\n\nThis patch does the full kthread conversion for the RFCOMM protocol. It\nmakes the code slightly simpler and more maintainable.\n\nBased on a patch from Christoph Hellwig \u003chch@lst.de\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\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": "dae6a0f6636d05bcb28ece1f3630b23ed2d66e18",
      "tree": "8ff4443b7ec8bf8e8aa391079832fce61f033368",
      "parents": [
        "6792b5ec8d9e723e4689fd5b16cfa52603985f43"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 14:52:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:47 2007 -0700"
      },
      "message": "[Bluetooth] Add address and channel attribute to RFCOMM TTY device\n\nExport the remote device address and channel of RFCOMM TTY device\nvia sysfs attributes. This allows udev to create better naming rules\nfor configured RFCOMM devices.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6792b5ec8d9e723e4689fd5b16cfa52603985f43",
      "tree": "7858cf91ae5a984f303bee8ccf0cb7ec72b7b029",
      "parents": [
        "5e23b923da03de7e41f00f5664ae22c4f7dcd2a3"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sat Oct 20 14:15:39 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:46 2007 -0700"
      },
      "message": "[Bluetooth] Fix wrong argument in debug code of HIDP\n\nIn the debug code of the hidp_queue_report function, the device\nvariable does not exist, replace it with session-\u003ehid.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\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": "f0709e03ac3552b1b048ee171cb96ecaacc6813c",
      "tree": "65c888eb7c1d6ad1f34276232a8cddbbcf163c28",
      "parents": [
        "4e8402a3f884427f9233ba436459c158d1f2e114"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:38:51 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:42 2007 -0700"
      },
      "message": "[Bluetooth] Advertise L2CAP features mask support\n\nIndicate the support for the L2CAP features mask value when the remote\nentity tries to negotiate Bluetooth 1.2 specific features.\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": "876d9484edf77d228adb42aecd4debd58d7739d6",
      "tree": "7812471a62fe26a8cf86d2b8fe5584396527de40",
      "parents": [
        "a9de9248064bfc8eb0a183a6a951a4e7b5ca10a4"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:35:42 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:40 2007 -0700"
      },
      "message": "[Bluetooth] Finish L2CAP configuration only with acceptable settings\n\nThe parameters of the L2CAP output configuration might not be accepted\nafter the first configuration round. So only indicate a finished output\nconfiguration when acceptable settings are provided.\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": "96de0e252cedffad61b3cb5e05662c591898e69a",
      "tree": "e3eb7d3e65ec27d39e1da13a17f6f0f91b28f5e9",
      "parents": [
        "3f5b98a2a0cba3351f96fcaa6d79aa1a0d93ee78"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "message": "Convert files to UTF-8 and some cleanups\n\n* Convert files to UTF-8.\n\n  * Also correct some people\u0027s names\n    (one example is Eißfeldt, which was found in a source file.\n    Given that the author used an ß at all in a source file\n    indicates that the real name has in fact a \u0027ß\u0027 and not an \u0027ss\u0027,\n    which is commonly used as a substitute for \u0027ß\u0027 when limited to\n    7bit.)\n\n  * Correct town names (Goettingen -\u003e Göttingen)\n\n  * Update Eberhard Mönkeberg\u0027s address (http://lkml.org/lkml/2007/1/8/313)\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "7b19ada2ed3c1eccb9fe94d74b05e1428224663d",
      "tree": "a0c5975ce5236ff4023b92d431bd0a8fa321c6ce",
      "parents": [
        "d05be13bcc6ec615fb2e9556a9b85d52800669b6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "get rid of input BIT* duplicate defines\n\nget rid of input BIT* duplicate defines\n\nuse newly global defined macros for input layer. Also remove includes of\ninput.h from non-input sources only for BIT macro definiton. Define the\nmacro temporarily in local manner, all those local definitons will be\nremoved further in this patchset (to not break bisecting).\nBIT macro will be globally defined (1\u003c\u003cx)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \u003cdtor@mail.ru\u003e\nAcked-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: \u003clenb@kernel.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: \u003cperex@suse.cz\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: \u003cvernux@us.ibm.com\u003e\nCc: \u003cmalattia@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53465eb4ab16660eab0a7be168a087a97172e650",
      "tree": "4449d8f837fa9a17ab158957628538b7d47bb203",
      "parents": [
        "912d8f0b1f17b7e851ebbfeb17a16de9f9c7cb88"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Sep 25 22:57:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:39 2007 -0700"
      },
      "message": "[BLUETOOTH]: Make hidp_setup_input() return int\n\nThis patch:\n- makes hidp_setup_input() return int to indicate errors;\n- checks its return value to handle errors.\n\nAnd this time it is against -rc7-mm1 tree.\n\nThanks to roel and Marcel Holtmann for comments.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da97f83a843f92678b614fcaebdb3e4ebd6c9dd",
      "tree": "fa4b516c20714b203c42b6e6b8b55811aef7e67a",
      "parents": [
        "577107e8e4cf9f6f4f5ef8350ac9a8faa6c3796d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@kimchee.(none)",
        "time": "Wed Sep 12 14:10:58 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@kimchee.(none)",
        "time": "Wed Sep 12 14:10:58 2007 +0200"
      },
      "message": "[BLUETOOTH]: Fix non-COMPAT build of hci_sock.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89f2783ded0a4fc98852cb9552bb27a80cd6a41a",
      "tree": "3227a8f56a6a1240d620cfe3b091a34836f69437",
      "parents": [
        "7c631a67601f116d303cfb98a3d964a150090e38"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Sep 09 08:39:49 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Sep 09 08:39:49 2007 +0200"
      },
      "message": "[Bluetooth] Fix parameter list for event filter command\n\nOn device initialization the event filters are cleared. In case of\nclearing the filters the extra condition type shall be omitted.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7c631a67601f116d303cfb98a3d964a150090e38",
      "tree": "f2c1396a62054a023261f397fa2900955ace453c",
      "parents": [
        "767c5eb5d35aeb85987143f0a730bc21d3ecfb3d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Sep 09 08:39:43 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Sep 09 08:39:43 2007 +0200"
      },
      "message": "[Bluetooth] Update security filter for Bluetooth 2.1\n\nThis patch updates the HCI security filter with support for the\nBluetooth 2.1 commands and events.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "767c5eb5d35aeb85987143f0a730bc21d3ecfb3d",
      "tree": "f292706a782bfb8d768a3c6f96871b3ba9e5dc81",
      "parents": [
        "26a4a06e7ff2874154eb3f4b4ba0514dc563b100"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Sep 09 08:39:34 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Sep 09 08:39:34 2007 +0200"
      },
      "message": "[Bluetooth] Add compat handling for timestamp structure\n\nThe timestamp structure needs special handling in case of compat\nprograms. Use the same wrapping method the network core uses.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d83852822cb58f0beaa2d06b7c1e9e005e0c4f94",
      "tree": "b1a47dca0373551b0541258ab27e61606212c73b",
      "parents": [
        "88219a0f65ae14ba744fa424604c965b6f1c1a8d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:18:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:09 2007 -0700"
      },
      "message": "[BLUETOOTH] l2cap: don\u0027t mangle cmd.len\n\nSince nobody uses it after we convert it to host-endian,\nno need to do that at all.  At that point l2cap is endian-clean.\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": "88219a0f65ae14ba744fa424604c965b6f1c1a8d",
      "tree": "cc3187f18091f427b409dbad6130d8212fdab724",
      "parents": [
        "8e036fc3143646dc304356fa50314681d654363f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:17:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:08 2007 -0700"
      },
      "message": "[BLUETOOTH]: pass (host-endian) cmd length as explicit argument to l2cap_conf_req()\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": "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": "6dc0c2082b8acf30c9239fbbcc051eebdaf7ecff",
      "tree": "709bc082b259b1a0bf2dfbc6a5aee4a7aaf343de",
      "parents": [
        "09c7d8293a2d1317d16ef4ddb9f6dd2553d0694e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:15:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:06 2007 -0700"
      },
      "message": "[BLUETOOTH]: Fix endianness bug in l2cap_sock_listen()\n\nWe loop through psm values, calling __l2cap_get_sock_by_addr(psm, ...)\nuntil we get NULL; then we set -\u003epsm of our socket to htobs(psm).\nIOW, we find unused psm value and put it into our socket.  So far, so\ngood, but...  __l2cap_get_sock_by_addr() compares its argument with\n-\u003epsm of sockets.  IOW, the entire thing works correctly only on\nlittle-endian.  On big-endian we\u0027ll get \"no socket with such psm\"\non the first iteration, since we won\u0027t find a socket with -\u003epsm \u003d\u003d 0x1001.\nWe will happily conclude that 0x1001 is unused and slap htobs(0x1001)\n(i.e. 0x110) into -\u003epsm of our socket.  Of course, the next time around\nthe same thing will repeat and we\u0027ll just get a fsckload of sockets\nwith the same -\u003epsm assigned.\n\nFix: pass htobs(psm) to __l2cap_get_sock_by_addr() there.  All other\ncallers are already passing little-endian values and all places that\nstore something in -\u003epsm are storing little-endian.\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": "09c7d8293a2d1317d16ef4ddb9f6dd2553d0694e",
      "tree": "a459a511a60427dd75796be371b4d1b99214acec",
      "parents": [
        "566cfd8f0e049a0647f94714f913e2a975dc464f"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jul 26 00:12:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:05 2007 -0700"
      },
      "message": "[IRDA]: Fix rfcomm use-after-free\n\nAdrian Bunk wrote:\n\u003e Commit 8de0a15483b357d0f0b821330ec84d1660cadc4e added the following\n\u003e use-after-free in net/bluetooth/rfcomm/tty.c:\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e ...\n\u003e static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc)\n\u003e {\n\u003e ...\n\u003e         if (IS_ERR(dev-\u003etty_dev)) {\n\u003e                 list_del(\u0026dev-\u003elist);\n\u003e                 kfree(dev);\n\u003e                 return PTR_ERR(dev-\u003etty_dev);\n\u003e         }\n\u003e ...\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e Spotted by the Coverity checker.\n\nreally good catch. I fully overlooked that one. The attached patch\nshould fix it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00ae02f31519e8d6e374424bbdf0c7381489e416",
      "tree": "a474b4ce00ff489d0ed7815b8465b00427b817bc",
      "parents": [
        "bd3b071b91a8acfe93b01567f556c879db049f99"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:43:16 2007 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:43:16 2007 +0900"
      },
      "message": "[NET] BLUETOOTH: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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"
    }
  ],
  "next": "84950cf0ba02fd6a5defe2511bc41f9aa2237632"
}
