)]}'
{
  "log": [
    {
      "commit": "3f2bc4d6eb5a4fada842462ba22bb6bbb41d00c7",
      "tree": "088e0646c8abcbde263d13ee865ba69032ac86dd",
      "parents": [
        "f06154cc47399dfdb3950d3e6b71d67ee186f69d"
      ],
      "author": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Tue Aug 16 17:27:22 2011 -0700"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Mon Oct 03 09:57:10 2011 -0700"
      },
      "message": "Initial Contribution\n\nmsm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142\n\nSigned-off-by: Bryan Huntsman \u003cbryanh@codeaurora.org\u003e\n"
    },
    {
      "commit": "e7a40bf27d18c354efde02a9c9fd98669c21852b",
      "tree": "9d81a4b7254cdb4a690392fbad09bc083b475956",
      "parents": [
        "a2aa662790e678c85611c93749819e2a51b6591b"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sun Jul 24 00:10:41 2011 -0400"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Aug 02 15:09:52 2011 -0700"
      },
      "message": "Bluetooth: rfcomm: Fix lost wakeups waiting to accept socket\n\nFix race conditions which can cause lost wakeups (or missed\nsignals) while waiting to accept an rfcomm socket connection.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "a2aa662790e678c85611c93749819e2a51b6591b",
      "tree": "037a073f3a504b3f0c34175d740f9fafb5880364",
      "parents": [
        "5fd537ad96aec7b0a2e2f3e19046dcfebf6ab689"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sun Jul 24 00:10:35 2011 -0400"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Aug 02 15:09:22 2011 -0700"
      },
      "message": "Bluetooth: rfcomm: Remove unnecessary krfcommd event\n\nRemoved superfluous event handling which was used to signal\nthat the rfcomm kthread had been woken. This appears to have been\nused to prevent lost wakeups. Correctly ordering when the task\nstate is set to TASK_INTERRUPTIBLE is sufficient to prevent lost wakeups.\n\nTo prevent wakeups which occurred prior to initially setting\nTASK_INTERRUPTIBLE from being lost, the main work of the thread loop -\nrfcomm_process_sessions() - is performed prior to sleeping.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8f1e790c1c29580419817b5a617bff54c5716a5a",
      "tree": "d77c62b663b45210257a3eea98ed9da25a6f7235",
      "parents": [
        "f78088ad4f8d5746bd52baf0038facb2cb761d69"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu May 12 16:50:09 2011 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Jul 11 11:59:18 2011 -0700"
      },
      "message": "Bluetooth: Silence DEBUG_STRICT_USER_COPY_CHECKS\u003dy warning\n\nEnabling DEBUG_STRICT_USER_COPY_CHECKS causes the following\nwarning:\n\nIn function \u0027copy_from_user\u0027,\n    inlined from \u0027rfcomm_sock_setsockopt\u0027 at\n    net/bluetooth/rfcomm/sock.c:705:\narch/x86/include/asm/uaccess_64.h:65:\nwarning: call to \u0027copy_from_user_overflow\u0027 declared with\nattribute warning: copy_from_user() buffer size is not provably\ncorrect\n\npresumably due to buf_size being signed causing GCC to fail to\nsee that buf_size can\u0027t become negative.\n\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "523425980d0d18d45d4743159884212c29cedbc7",
      "tree": "88c1748fea946e300145dadf199b031111e5b3ed",
      "parents": [
        "af2a7f40cfa4df782961d0d423bdac4cdf65add2"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 18:09:00 2011 -0400"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Jul 11 11:59:12 2011 -0700"
      },
      "message": "Bluetooth: Kill set but not used variable \u0027l2cap_sk\u0027 in rfcomm_sock_getsockopt_old()\n\nChange-Id: I33c0404c6dcf1d3e8bc39e8c583f073329add294\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e55d4fa96762fd767a3b6d842c904e994db6bb2e",
      "tree": "c74157e01cb128cb97f106a50cfadc4c8b872c41",
      "parents": [
        "e32c14667e4fe9f16ac9b918d15d29abd2315a55",
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 29 13:54:42 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 29 13:54:42 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0-rc5\u0027 into android-3.0\n"
    },
    {
      "commit": "1349d4abcad09162ab1a3d8fa5523ee227806c4a",
      "tree": "29c303fa52b2147dd5a6a257a2566b1a2fc22c65",
      "parents": [
        "93739c0025f11be799729e946fdf69473fc4ffc9"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Jul 09 12:23:44 2009 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:16 2011 -0700"
      },
      "message": "Bluetooth: Do not attempt to send dlci disconnect when in BT_CONFIG.\n\nThis fixes a bug where shutdown() and close() on a rfcomm socket during ACL\nconnection would not cause HCI Create Connection Cancel.\n\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "8d03e971cf403305217b8e62db3a2e5ad2d6263f",
      "tree": "849bb2e439234c63480c6485a3b663a3377cfd21",
      "parents": [
        "51892dbbd511911c0f965a36b431fc3e8f1e4f8a"
      ],
      "author": {
        "name": "Filip Palian",
        "email": "s3810@pjwstk.edu.pl",
        "time": "Thu May 12 19:32:46 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Jun 09 15:30:01 2011 -0300"
      },
      "message": "Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace.\n\nStructures \"l2cap_conninfo\" and \"rfcomm_conninfo\" have one padding\nbyte each. This byte in \"cinfo\" is copied to userspace uninitialized.\n\nSigned-off-by: Filip Palian \u003cfilip.palian@pjwstk.edu.pl\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b3b1b061583ba4909b59a2f736825d86495fe956",
      "tree": "95ae8fcbcc37bfb3865362ddcd72ac76d2b58c0b",
      "parents": [
        "2a7bccccdb9604a717c2128a931f022267d35629"
      ],
      "author": {
        "name": "Waldemar Rymarkiewicz",
        "email": "waldemar.rymarkiewicz@tieto.com",
        "time": "Fri May 06 09:42:31 2011 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed May 11 14:56:28 2011 -0300"
      },
      "message": "Bluetooth: Double check sec req for pre 2.1 device\n\nIn case of pre v2.1 devices authentication request will return\nsuccess immediately if the link key already exists without any\nauthentication process.\n\nThat means, it\u0027s not possible to re-authenticate the link if you\nalready have combination key and for instance want to re-authenticate\nto get the high security (use 16 digit pin).\n\nTherefore, it\u0027s necessary to check security requirements on auth\ncomplete event to prevent not enough secure connection.\n\nSigned-off-by: Waldemar Rymarkiewicz \u003cwaldemar.rymarkiewicz@tieto.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8c1d787be4b62d2d1b6f04953eca4bcf7c839d44",
      "tree": "e2a35c5cb81cc5109c13c2747b039fa05ea55a6e",
      "parents": [
        "fe4128e0aabc3c748786c00da21e6eff9d3aeddb"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Apr 13 20:23:55 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Apr 28 01:10:00 2011 -0300"
      },
      "message": "Bluetooth: Move conn to struct l2cap_chan\n\nThere is no need to the socket deal directly with the channel, most of the\ntime it cares about the channel only.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "0c1bc5c626e9783034264ccca4b262b3acc628f1",
      "tree": "ca6c9ecaf753ec9892d3cec078c63723299e01fb",
      "parents": [
        "47d1ec6161da2c7b9dbc56a5200fa26b17d5fdc1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Apr 13 17:20:49 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Apr 28 01:09:58 2011 -0300"
      },
      "message": "Bluetooth: Move more channel info to struct l2cap_chan\n\nIn this commit, omtu, imtu, flush_to, mode and sport. It also remove the\npi var from l2cap_sock_sendmsg().\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "47d1ec6161da2c7b9dbc56a5200fa26b17d5fdc1",
      "tree": "7f7c5288d420cf84cf38ba55ca36bcc052066e92",
      "parents": [
        "4343478f3a4806394136d8141b2e451aa5443f03"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Apr 13 15:57:03 2011 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Apr 27 18:51:35 2011 -0300"
      },
      "message": "Bluetooth: Move more vars to struct l2cap_chan\n\nIn this commit all ERTM and Streaming Mode specific vars.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "7a6362800cb7d1d618a697a650c7aaed3eb39320",
      "tree": "087f9bc6c13ef1fad4b392c5cf9325cd28fa8523",
      "parents": [
        "6445ced8670f37cfc2c5e24a9de9b413dbfc788d",
        "ceda86a108671294052cbf51660097b6534672f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits)\n  bonding: enable netpoll without checking link status\n  xfrm: Refcount destination entry on xfrm_lookup\n  net: introduce rx_handler results and logic around that\n  bonding: get rid of IFF_SLAVE_INACTIVE netdev-\u003epriv_flag\n  bonding: wrap slave state work\n  net: get rid of multiple bond-related netdevice-\u003epriv_flags\n  bonding: register slave pointer for rx_handler\n  be2net: Bump up the version number\n  be2net: Copyright notice change. Update to Emulex instead of ServerEngines\n  e1000e: fix kconfig for crc32 dependency\n  netfilter ebtables: fix xt_AUDIT to work with ebtables\n  xen network backend driver\n  bonding: Improve syslog message at device creation time\n  bonding: Call netif_carrier_off after register_netdevice\n  bonding: Incorrect TX queue offset\n  net_sched: fix ip_tos2prio\n  xfrm: fix __xfrm_route_forward()\n  be2net: Fix UDP packet detected status in RX compl\n  Phonet: fix aligned-mode pipe socket buffer header reserve\n  netxen: support for GbE port settings\n  ...\n\nFix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c\nwith the staging updates.\n"
    },
    {
      "commit": "e6bee325e49f17c65c1fd66e9e8b348c85788341",
      "tree": "bcc9e5d8e82efa9009edd481a837cc3626360091",
      "parents": [
        "a5e6b135bdff649e4330f98e2e80dbb1984f7e77",
        "6ae705b23be8da52d3163be9d81e9b767876aaf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:11:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:11:04 2011 -0700"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (76 commits)\n  pch_uart: reference clock on CM-iTC\n  pch_phub: add new device ML7213\n  n_gsm: fix UIH control byte : P bit should be 0\n  n_gsm: add a documentation\n  serial: msm_serial_hs: Add MSM high speed UART driver\n  tty_audit: fix tty_audit_add_data live lock on audit disabled\n  tty: move cd1865.h to drivers/staging/tty/\n  Staging: tty: fix build with epca.c driver\n  pcmcia: synclink_cs: fix prototype for mgslpc_ioctl()\n  Staging: generic_serial: fix double locking bug\n  nozomi: don\u0027t use flush_scheduled_work()\n  tty/serial: Relax the device_type restriction from of_serial\n  MAINTAINERS: Update HVC file patterns\n  tty: phase out of ioctl file pointer for tty3270 as well\n  tty: forgot to remove ipwireless from drivers/char/pcmcia/Makefile\n  pch_uart: Fix DMA channel miss-setting issue.\n  pch_uart: fix exclusive access issue\n  pch_uart: fix auto flow control miss-setting issue\n  pch_uart: fix uart clock setting issue\n  pch_uart : Use dev_xxx not pr_xxx\n  ...\n\nFix up trivial conflicts in drivers/misc/pch_phub.c (same patch applied\ntwice, then changes to the same area in one branch)\n"
    },
    {
      "commit": "b67afe7f43afd2f5cd98798993561920c1684c12",
      "tree": "e45a0e41c91a1d199fd865b011ed0d25f5497bb9",
      "parents": [
        "db28569adc692d9fb8a2d2d8e7ebab7fd5481f10",
        "28bec7b845e10b68e6ba1ade5de0fc566690fc61"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 18 17:03:41 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 18 17:03:41 2011 -0500"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n"
    },
    {
      "commit": "6caa76b7786891b42b66a0e61e2c2fff2c884620",
      "tree": "eb6e387e080a44680d6d8686999336e69ec97e71",
      "parents": [
        "00a0d0d65b61241a718d0aee96f46b9a2d93bf26"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:27:22 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:59:56 2011 -0800"
      },
      "message": "tty: now phase out the ioctl file pointer for good\n\nOnly oddities here are a couple of drivers that bogusly called the ldisc\nhelpers instead of returning -ENOIOCTLCMD. Fix the bug and the rest goes\naway.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "20b9d17715017ae4dd4ec87fabc36d33b9de708e",
      "tree": "64e9c4ff845844298f9056357d9f4914802207f8",
      "parents": [
        "60b33c133ca0b7c0b6072c87234b63fee6e80558"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:26:50 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:52:43 2011 -0800"
      },
      "message": "tiocmset: kill the file pointer argument\n\nDoing tiocmget was such fun we should do tiocmset as well for the same\nreasons\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "60b33c133ca0b7c0b6072c87234b63fee6e80558",
      "tree": "379340a7ab563df42ddb2907be6f282202244077",
      "parents": [
        "adf9251fe9b87b5a50deebe489db2df8df4715fc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:26:14 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:47:33 2011 -0800"
      },
      "message": "tiocmget: kill off the passing of the struct file\n\nWe don\u0027t actually need this and it causes problems for internal use of\nthis functionality. Currently there is a single use of the FILE * pointer.\nThat is the serial core which uses it to check tty_hung_up_p. However if\nthat is true then IO_ERROR is also already set so the check may be removed.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "840af824b2bf9194ea596e0ddc7aa05066794ca1",
      "tree": "e10fe7e455b9a4aaadf56cb3f0c0325208bc0118",
      "parents": [
        "8efdd0cdc54f3bb5db464b3baf88f7441f54da47"
      ],
      "author": {
        "name": "Vladislav P",
        "email": "vladisslav@inbox.ru",
        "time": "Mon Feb 14 15:21:50 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Feb 16 15:54:11 2011 -0300"
      },
      "message": "Bluetooth: Release BTM while sleeping to avoid deadlock\n\nSigned-off-by: Vladislav P \u003cvladisslav@inbox.ru\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "c531a12ae63b6438a7859994aca23859f5706010",
      "tree": "fc32fd04015270067db585207e91a26f5498ab4f",
      "parents": [
        "642745184f82688eb3ef0cdfaa4ba632055be9af"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Feb 07 20:19:30 2011 -0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Feb 15 09:45:52 2011 -0300"
      },
      "message": "Bluetooth: remove l2cap_load() hack\n\nl2cap_load() was added to trigger l2cap.ko module loading from the RFCOMM\nand BNEP modules. Now that L2CAP module is gone, we don\u0027t need it anymore.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "683d949a7fbf33c244670e34d35c460e0d6558cb",
      "tree": "fafa2f5c18d72466e859e7ade3f6a84d84bb7224",
      "parents": [
        "e2e0cacbd4b0c7c69c7591d37c243f2363aeaa71"
      ],
      "author": {
        "name": "Lukáš Turek",
        "email": "8an@praha12.net",
        "time": "Wed Jan 05 02:43:59 2011 +0100"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Jan 19 14:40:42 2011 -0200"
      },
      "message": "Bluetooth: Never deallocate a session when some DLC points to it\n\nFix a bug introduced in commit 9cf5b0ea3a7f1432c61029f7aaf4b8b338628884:\nfunction rfcomm_recv_ua calls rfcomm_session_put without checking that\nthe session is not referenced by some DLC. If the session is freed, that\nDLC would refer to deallocated memory, causing an oops later, as shown\nin this bug report: https://bugzilla.kernel.org/show_bug.cgi?id\u003d15994\n\nSigned-off-by: Lukas Turek \u003c8an@praha12.net\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "b4aa9e05a61b845541fa6f5b1d246976922601f0",
      "tree": "ca94478c3df281ab76a3399f5ba6341ade3f5791",
      "parents": [
        "1dc0f3c54ce1df957f99c17b145488fd03eb1a59",
        "4b8fe66300acb2fba8b16d62606e0d30204022fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n\tdrivers/net/wireless/iwlwifi/iwl-1000.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/vhost/vhost.c\n"
    },
    {
      "commit": "183f732c3f3f307d5673e17b69de6894e1dd2918",
      "tree": "3c5641374b15ee4a31b28cbdc071356058065436",
      "parents": [
        "d89197c7f34934fbb0f96d938a0d6cfe0b8bcb1c"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Mon Dec 06 15:56:17 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Dec 06 15:47:44 2010 -0200"
      },
      "message": "Bluetooth: Fix initial RFCOMM DLC security level\n\nDue to commit 63ce0900 connections initiated through TTYs created with\n\"rfcomm bind ...\" would have security level BT_SECURITY_SDP instead of\nBT_SECURITY_LOW. This would cause instant connection failure between any\ntwo SSP capable devices due to the L2CAP connect request to RFCOMM being\nsent before authentication has been performed. This patch fixes the\nregression by always initializing the DLC security level to\nBT_SECURITY_LOW.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nAcked-by: Luiz Augusto von Dentz \u003cluiz.dentz-von@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "285b4e90318dcf421a00b2ac3fe8ab713f3281e3",
      "tree": "2f69b35603f0c68288e364cc41de96e502ee511b",
      "parents": [
        "735cbc4784a084b7a76c43c69f9dba683bb3b48b"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Dec 01 16:58:23 2010 +0200"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: clean up rfcomm code\n\nRemove extra spaces, assignments in if statement, zeroing static\nvariables, extra braces. Fix includes.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "eeb366564be7c311b31c70821d18a43a8a57f9bc",
      "tree": "7378939c2d8be9356620d1d08a170b1c7f9f9759",
      "parents": [
        "e0f0cb56364958223f0cb1f1b0b0eecf1b8dcb95"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Mon Nov 01 18:43:53 2010 +0000"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Wed Dec 01 21:04:43 2010 -0200"
      },
      "message": "Bluetooth: Get rid of __rfcomm_get_sock_by_channel()\n\nrfcomm_get_sock_by_channel() was the only user of this function, so I merged\nboth into rfcomm_get_sock_by_channel(). The socket lock now should be hold\noutside of rfcomm_get_sock_by_channel() once we hold and release it inside the\nsame function now.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "63ce0900d79645c714de6c8b66d8040670068c9e",
      "tree": "02bd4f20262db74e45fdd431bf5e8d0c18cf314e",
      "parents": [
        "4f8b691c9fb02e72359e71592098c1de3b8ec712"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.dentz-von@nokia.com",
        "time": "Thu Aug 19 14:06:10 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Nov 09 00:56:10 2010 -0200"
      },
      "message": "Bluetooth: fix not setting security level when creating a rfcomm session\n\nThis cause \u0027No Bonding\u0027 to be used if userspace has not yet been paired\nwith remote device since the l2cap socket used to create the rfcomm\nsession does not have any security level set.\n\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.dentz-von@nokia.com\u003e\nAcked-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "0587102cf9f427c185bfdeb2cef41e13ee0264b1",
      "tree": "94c6dcc7ac230dee166d2f6aa1f9a54bffe5764b",
      "parents": [
        "0bca1b913affbd7e2fdaffee62a499659a466eb5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Sep 16 18:21:52 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:20:05 2010 -0700"
      },
      "message": "tty: icount changeover for other main devices\n\nAgain basically cut and paste\n\nConvert the main driver set to use the hooks for GICOUNT\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "534c92fde74c8d2143fc15b5f1d957f42cb43570",
      "tree": "1f6fe4dcf8bebd4b8313357036614900f289aab2",
      "parents": [
        "ab3e571564a5d8fa4923e2e858e574c931a014c7"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Fri Oct 01 12:05:11 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:53 2010 -0300"
      },
      "message": "Bluetooth: clean up rfcomm code\n\nRemove dead code and unused rfcomm thread events\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "d6b2eb2f893547d7488d31a7088d78dd77ab5995",
      "tree": "fd632fa1316348a928bfc4dce7fbdb02b209467f",
      "parents": [
        "cb810a189da312d4074cb3fc8b0267b7115e7be1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Sep 03 18:29:46 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:52 2010 -0300"
      },
      "message": "Bluetooth: make batostr() print in the right order\n\nThe Bluetooth core uses the the BD_ADDR in the opposite order from the\nhuman readable order. So we are changing batostr() to print in the\ncorrect order and then removing some baswap(), as they are not needed\nanymore.\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "5017d8dde13313cab1e607379536a7930ed682b0",
      "tree": "3d39942d30586317465b78be28251455caadcad0",
      "parents": [
        "6fdf482bb3298267816be59d9a3dce29632382d3"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Wed Sep 08 16:26:53 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: remove extra newline from debug output\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "3d7d01dffec4a6757ed1e3182f01c7ef5caa2539",
      "tree": "0903ad1ffcf4378fd5f3d33716fc37d7059998b0",
      "parents": [
        "796c86eec84ddfd02281c5071838ed1fefda6b90"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Wed Sep 08 10:05:28 2010 -0700"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: Use common SOCK_STREAM receive code in RFCOMM\n\nTo reduce code duplication, have rfcomm_sock_recvmsg() call\nbt_sock_stream_recvmsg().  The common bt_sock_stream_recvmsg()\ncode is nearly identical, with the RFCOMM-specific functionality\nfor deferred setup and connection unthrottling left in\nrfcomm_sock_recvmsg().\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "08601469a5aac8b3453d8aca0b8f9bd8dfdae12c",
      "tree": "90a126bf8bd9c56fad847c684384c715df329c49",
      "parents": [
        "fb3d8eb47ce377d6d7a8fc58b8046ea9eb376a28"
      ],
      "author": {
        "name": "Yuri Kululin",
        "email": "ext-yuri.kululin@nokia.com",
        "time": "Fri Jul 23 13:57:12 2010 +0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: Fix RFCOMM RPN negotiation\n\nAccording to the ETSI 3GPP TS 07.10 the default bit rate value for RFCOMM\nis 9600 bit/s. Return this bit rate in case of RPN request and accept other\nsane bit rates proposed by the sender in RPM command.\n\nSigned-off-by: Yuri Kululin \u003cext-yuri.kululin@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "d122179a3c0fdc71b88cb9e3605f372b1651a9ff",
      "tree": "63a48b333e7565967b6d7c9e246557bfcb9f225f",
      "parents": [
        "419c20465d6319274e7286f0966e2390540e6e0a",
        "b00916b189d13a615ff05c9242201135992fcda3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/core/ethtool.c\n"
    },
    {
      "commit": "fad003b6c8e3d944d4453fd569b0702ef1af82b3",
      "tree": "d9fd2ec91b39283458ac64e31ae7775ae6ee87ec",
      "parents": [
        "ccbb84af28594e19fd4bf27ff2828c80d03b6081"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Aug 14 00:48:07 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Sep 30 12:19:35 2010 -0300"
      },
      "message": "Bluetooth: Fix inconsistent lock state with RFCOMM\n\nWhen receiving a rfcomm connection with the old dund deamon a\ninconsistent lock state happens. That\u0027s because interrupts were already\ndisabled by l2cap_conn_start() when rfcomm_sk_state_change() try to lock\nthe spin_lock.\n\nAs result we may have a inconsistent lock state for l2cap_conn_start()\nafter rfcomm_sk_state_change() calls bh_lock_sock() and disable interrupts\nas well.\n\n[ 2833.151999]\n[ 2833.151999] \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[ 2833.151999] [ INFO: inconsistent lock state ]\n[ 2833.151999] 2.6.36-rc3 #2\n[ 2833.151999] ---------------------------------\n[ 2833.151999] inconsistent {IN-SOFTIRQ-W} -\u003e {SOFTIRQ-ON-W} usage.\n[ 2833.151999] krfcommd/2306 [HC0[0]:SC0[0]:HE1:SE1] takes:\n[ 2833.151999]  (slock-AF_BLUETOOTH){+.?...}, at: [\u003cffffffffa00bcb56\u003e] rfcomm_sk_state_change+0x46/0x170 [rfcomm]\n[ 2833.151999] {IN-SOFTIRQ-W} state was registered at:\n[ 2833.151999]   [\u003cffffffff81094346\u003e] __lock_acquire+0x5b6/0x1560\n[ 2833.151999]   [\u003cffffffff8109534a\u003e] lock_acquire+0x5a/0x70\n[ 2833.151999]   [\u003cffffffff81392b6c\u003e] _raw_spin_lock+0x2c/0x40\n[ 2833.151999]   [\u003cffffffffa00a5092\u003e] l2cap_conn_start+0x92/0x640 [l2cap]\n[ 2833.151999]   [\u003cffffffffa00a6a3f\u003e] l2cap_sig_channel+0x6bf/0x1320 [l2cap]\n[ 2833.151999]   [\u003cffffffffa00a9173\u003e] l2cap_recv_frame+0x133/0x770 [l2cap]\n[ 2833.151999]   [\u003cffffffffa00a997b\u003e] l2cap_recv_acldata+0x1cb/0x390 [l2cap]\n[ 2833.151999]   [\u003cffffffffa000db4b\u003e] hci_rx_task+0x2ab/0x450 [bluetooth]\n[ 2833.151999]   [\u003cffffffff8106b22b\u003e] tasklet_action+0xcb/0xe0\n[ 2833.151999]   [\u003cffffffff8106b91e\u003e] __do_softirq+0xae/0x150\n[ 2833.151999]   [\u003cffffffff8102bc0c\u003e] call_softirq+0x1c/0x30\n[ 2833.151999]   [\u003cffffffff8102ddb5\u003e] do_softirq+0x75/0xb0\n[ 2833.151999]   [\u003cffffffff8106b56d\u003e] irq_exit+0x8d/0xa0\n[ 2833.151999]   [\u003cffffffff8104484b\u003e] smp_apic_timer_interrupt+0x6b/0xa0\n[ 2833.151999]   [\u003cffffffff8102b6d3\u003e] apic_timer_interrupt+0x13/0x20\n[ 2833.151999]   [\u003cffffffff81029dfa\u003e] cpu_idle+0x5a/0xb0\n[ 2833.151999]   [\u003cffffffff81381ded\u003e] rest_init+0xad/0xc0\n[ 2833.151999]   [\u003cffffffff817ebc4d\u003e] start_kernel+0x2dd/0x2e8\n[ 2833.151999]   [\u003cffffffff817eb2e6\u003e] x86_64_start_reservations+0xf6/0xfa\n[ 2833.151999]   [\u003cffffffff817eb3ce\u003e] x86_64_start_kernel+0xe4/0xeb\n[ 2833.151999] irq event stamp: 731\n[ 2833.151999] hardirqs last  enabled at (731): [\u003cffffffff8106b762\u003e] local_bh_enable_ip+0x82/0xe0\n[ 2833.151999] hardirqs last disabled at (729): [\u003cffffffff8106b93e\u003e] __do_softirq+0xce/0x150\n[ 2833.151999] softirqs last  enabled at (730): [\u003cffffffff8106b96e\u003e] __do_softirq+0xfe/0x150\n[ 2833.151999] softirqs last disabled at (711): [\u003cffffffff8102bc0c\u003e] call_softirq+0x1c/0x30\n[ 2833.151999]\n[ 2833.151999] other info that might help us debug this:\n[ 2833.151999] 2 locks held by krfcommd/2306:\n[ 2833.151999]  #0:  (rfcomm_mutex){+.+.+.}, at: [\u003cffffffffa00bb744\u003e] rfcomm_run+0x174/0xb20 [rfcomm]\n[ 2833.151999]  #1:  (\u0026(\u0026d-\u003elock)-\u003erlock){+.+...}, at: [\u003cffffffffa00b9223\u003e] rfcomm_dlc_accept+0x53/0x100 [rfcomm]\n[ 2833.151999]\n[ 2833.151999] stack backtrace:\n[ 2833.151999] Pid: 2306, comm: krfcommd Tainted: G        W   2.6.36-rc3 #2\n[ 2833.151999] Call Trace:\n[ 2833.151999]  [\u003cffffffff810928e1\u003e] print_usage_bug+0x171/0x180\n[ 2833.151999]  [\u003cffffffff810936c3\u003e] mark_lock+0x333/0x400\n[ 2833.151999]  [\u003cffffffff810943ca\u003e] __lock_acquire+0x63a/0x1560\n[ 2833.151999]  [\u003cffffffff810948b5\u003e] ? __lock_acquire+0xb25/0x1560\n[ 2833.151999]  [\u003cffffffff8109534a\u003e] lock_acquire+0x5a/0x70\n[ 2833.151999]  [\u003cffffffffa00bcb56\u003e] ? rfcomm_sk_state_change+0x46/0x170 [rfcomm]\n[ 2833.151999]  [\u003cffffffff81392b6c\u003e] _raw_spin_lock+0x2c/0x40\n[ 2833.151999]  [\u003cffffffffa00bcb56\u003e] ? rfcomm_sk_state_change+0x46/0x170 [rfcomm]\n[ 2833.151999]  [\u003cffffffffa00bcb56\u003e] rfcomm_sk_state_change+0x46/0x170 [rfcomm]\n[ 2833.151999]  [\u003cffffffffa00b9239\u003e] rfcomm_dlc_accept+0x69/0x100 [rfcomm]\n[ 2833.151999]  [\u003cffffffffa00b9a49\u003e] rfcomm_check_accept+0x59/0xd0 [rfcomm]\n[ 2833.151999]  [\u003cffffffffa00bacab\u003e] rfcomm_recv_frame+0x9fb/0x1320 [rfcomm]\n[ 2833.151999]  [\u003cffffffff813932bb\u003e] ? _raw_spin_unlock_irqrestore+0x3b/0x60\n[ 2833.151999]  [\u003cffffffff81093acd\u003e] ? trace_hardirqs_on_caller+0x13d/0x180\n[ 2833.151999]  [\u003cffffffff81093b1d\u003e] ? trace_hardirqs_on+0xd/0x10\n[ 2833.151999]  [\u003cffffffffa00bb7f1\u003e] rfcomm_run+0x221/0xb20 [rfcomm]\n[ 2833.151999]  [\u003cffffffff813905e7\u003e] ? schedule+0x287/0x780\n[ 2833.151999]  [\u003cffffffffa00bb5d0\u003e] ? rfcomm_run+0x0/0xb20 [rfcomm]\n[ 2833.151999]  [\u003cffffffff81081026\u003e] kthread+0x96/0xa0\n[ 2833.151999]  [\u003cffffffff8102bb14\u003e] kernel_thread_helper+0x4/0x10\n[ 2833.151999]  [\u003cffffffff813936bc\u003e] ? restore_args+0x0/0x30\n[ 2833.151999]  [\u003cffffffff81080f90\u003e] ? kthread+0x0/0xa0\n[ 2833.151999]  [\u003cffffffff8102bb10\u003e] ? kernel_thread_helper+0x0/0x10\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28e9509b1270e5cfa8bb3c5ff51f39214aa09262",
      "tree": "04d78ebd2c6f3dfcd588e6dfd5820772364213c4",
      "parents": [
        "ea4bd8ba804dedefa65303b3bd105d6d2808e621"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Jul 31 19:57:05 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Jul 31 16:09:21 2010 -0700"
      },
      "message": "Bluetooth: Remove __exit from rfcomm_cleanup_ttys()\n\nrfcomm_cleanup_ttys() is also called from rfcomm_init(), so it can\u0027t\nhave __exit.\n\nReported-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2f8362afcd2da8b313ec3cc04a50af19d3592972",
      "tree": "c4fe061e063d399c73a08e3fef7864fb4fe36a72",
      "parents": [
        "f2b94bb9e0b8bd048331a6e9d616e918f4bcbd97"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat Jul 24 02:04:45 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Jul 27 12:37:27 2010 -0700"
      },
      "message": "Bluetooth: Add __init and __exit marks to RFCOMM\n\nThose annotation save memory and space on the binary. __init code is\ndiscarded just after execute and __exit code is discarded if the module\nis built into the kernel image or unload of modules is not allowed.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb4361c1dc29cd870f664c004b1817106fbce0fa",
      "tree": "c31533210d738c9074b21b8f31fe0399b39545f0",
      "parents": [
        "309361e09ca9e9670dc8664e5d14125bf82078af",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:34:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:34:06 2010 -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: (37 commits)\n  smc91c92_cs: fix the problem of \"Unable to find hardware address\"\n  r8169: clean up my printk uglyness\n  net: Hook up cxgb4 to Kconfig and Makefile\n  cxgb4: Add main driver file and driver Makefile\n  cxgb4: Add remaining driver headers and L2T management\n  cxgb4: Add packet queues and packet DMA code\n  cxgb4: Add HW and FW support code\n  cxgb4: Add register, message, and FW definitions\n  netlabel: Fix several rcu_dereference() calls used without RCU read locks\n  bonding: fix potential deadlock in bond_uninit()\n  net: check the length of the socket address passed to connect(2)\n  stmmac: add documentation for the driver.\n  stmmac: fix kconfig for crc32 build error\n  be2net: fix bug in vlan rx path for big endian architecture\n  be2net: fix flashing on big endian architectures\n  be2net: fix a bug in flashing the redboot section\n  bonding: bond_xmit_roundrobin() fix\n  drivers/net: Add missing unlock\n  net: gianfar - align BD ring size console messages\n  net: gianfar - initialize per-queue statistics\n  ...\n"
    },
    {
      "commit": "6503d96168f891ffa3b70ae6c9698a1a722025a0",
      "tree": "9fafcd9eb2c0b3feda0cf4c36e4167ba3028d83a",
      "parents": [
        "a1d6f3f65512cc90a636e6ec653b7bc9e2238753"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 31 22:58:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 01 17:26:01 2010 -0700"
      },
      "message": "net: check the length of the socket address passed to connect(2)\n\ncheck the length of the socket address passed to connect(2).\n\nCheck the length of the socket address passed to connect(2). If the\nlength is invalid, -EINVAL will be returned.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\nnet/bluetooth/l2cap.c | 3 ++-\nnet/bluetooth/rfcomm/sock.c | 3 ++-\nnet/bluetooth/sco.c | 3 ++-\nnet/can/bcm.c | 3 +++\nnet/ieee802154/af_ieee802154.c | 3 +++\nnet/ipv4/af_inet.c | 5 +++++\nnet/netlink/af_netlink.c | 3 +++\n7 files changed, 20 insertions(+), 3 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "aef7d97cc604309b66f6f45cce02cd734934cd4e",
      "tree": "b21aae56f9a5de0bbabe881d597a4dc790ff97c8",
      "parents": [
        "101545f6fef4a0a3ea8daf0b5b880df2c6a92a69"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Mar 21 05:27:45 2010 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Mar 21 05:49:35 2010 +0100"
      },
      "message": "Bluetooth: Convert debug files to actually use debugfs instead of sysfs\n\nSome of the debug files ended up wrongly in sysfs, because at that point\nof time, debugfs didn\u0027t exist. Convert these files to use debugfs and\nalso seq_file. This patch converts all of these files at once and then\nremoves the exported symbol for the Bluetooth sysfs class.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "101545f6fef4a0a3ea8daf0b5b880df2c6a92a69",
      "tree": "5b4254a64db65f1958a36ec6955dbba1b71031a7",
      "parents": [
        "af98441397227a5a4f212cd48710eea72a14dbdb"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Mar 15 14:12:58 2010 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Mar 21 05:49:32 2010 +0100"
      },
      "message": "Bluetooth: Fix potential bad memory access with sysfs files\n\nWhen creating a high number of Bluetooth sockets (L2CAP, SCO\nand RFCOMM) it is possible to scribble repeatedly on arbitrary\npages of memory. Ensure that the content of these sysfs files is\nalways less than one page. Even if this means truncating. The\nfiles in question are scheduled to be moved over to debugfs in\nthe future anyway.\n\nBased on initial patches from Neil Brown and Linus Torvalds\n\nReported-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "28812fe11a21826ba4c97c6c7971a619987cd912",
      "tree": "c78daefd595989bbc660ea48d8bc2dc5750321d3",
      "parents": [
        "5fbcae57db69128c14080a7a5a42d0626bfe155c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:07 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "driver-core: Add attribute argument to class_attribute show/store\n\nPassing the attribute to the low level IO functions allows all kinds\nof cleanups, by sharing low level IO code without requiring\nan own function for every piece of data.\n\nAlso drivers can extend the attributes with own data fields\nand use that in the low level function.\n\nThis makes the class attributes the same as sysdev_class attributes\nand plain attributes.\n\nThis will allow further cleanups in drivers.\n\nFull tree sweep converting all users.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6c2718da59613d76013b501bf0f8bcf9d7794b2d",
      "tree": "9872ff9b1cb630130f0da9c6abca771d52fb1fa8",
      "parents": [
        "485f1eff73a7b932fd3abb0dfcf804e1a1f59025"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Feb 03 16:18:36 2010 -0800"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Feb 03 16:28:44 2010 -0800"
      },
      "message": "Bluetooth: Do not call rfcomm_session_put() for RFCOMM UA on closed socket\n\nWhen processing a RFCOMM UA frame when the socket is closed and we were\nnot the RFCOMM initiator would cause rfcomm_session_put() to be called\ntwice during rfcomm_process_rx(). This would cause a kernel panic in\nrfcomm_session_close() then.\n\nThis could be easily reproduced during disconnect with devices such as\nMotorola H270 that send RFCOMM UA followed quickly by L2CAP disconnect\nrequest. This trace for this looks like:\n\n2009-09-21 17:22:37.788895 \u003c ACL data: handle 1 flags 0x02 dlen 8\n   L2CAP(d): cid 0x0041 len 4 [psm 3]\n     RFCOMM(s): DISC: cr 0 dlci 20 pf 1 ilen 0 fcs 0x7d\n2009-09-21 17:22:37.906204 \u003e HCI Event: Number of Completed Packets (0x13) plen 5\n   handle 1 packets 1\n2009-09-21 17:22:37.933090 \u003e ACL data: handle 1 flags 0x02 dlen 8\n   L2CAP(d): cid 0x0040 len 4 [psm 3]\n     RFCOMM(s): UA: cr 0 dlci 20 pf 1 ilen 0 fcs 0x57\n2009-09-21 17:22:38.636764 \u003c ACL data: handle 1 flags 0x02 dlen 8\n   L2CAP(d): cid 0x0041 len 4 [psm 3]\n     RFCOMM(s): DISC: cr 0 dlci 0 pf 1 ilen 0 fcs 0x9c\n2009-09-21 17:22:38.744125 \u003e HCI Event: Number of Completed Packets (0x13) plen 5\n   handle 1 packets 1\n2009-09-21 17:22:38.763687 \u003e ACL data: handle 1 flags 0x02 dlen 8\n   L2CAP(d): cid 0x0040 len 4 [psm 3]\n     RFCOMM(s): UA: cr 0 dlci 0 pf 1 ilen 0 fcs 0xb6\n2009-09-21 17:22:38.783554 \u003e ACL data: handle 1 flags 0x02 dlen 12\n   L2CAP(s): Disconn req: dcid 0x0040 scid 0x0041\n\nAvoid calling rfcomm_session_put() twice by skipping this call\nin rfcomm_recv_ua() if the socket is closed.\n\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "485f1eff73a7b932fd3abb0dfcf804e1a1f59025",
      "tree": "9219b988d9662957ba9382761cca6d08a3273abd",
      "parents": [
        "1038a00b458997661bcd0e780a24dc280a8841fc"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Feb 03 15:52:18 2010 -0800"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Feb 03 15:52:18 2010 -0800"
      },
      "message": "Bluetooth: Fix sleeping function in RFCOMM within invalid context\n\nWith the commit 9e726b17422bade75fba94e625cd35fd1353e682 the\nrfcomm_session_put() gets accidentially called from a timeout\ncallback and results in this:\n\nBUG: sleeping function called from invalid context at net/core/sock.c:1897\nin_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper\nPid: 0, comm: swapper Tainted: P           2.6.32 #31\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff81036455\u003e] __might_sleep+0xf8/0xfa\n [\u003cffffffff8138ef1d\u003e] lock_sock_nested+0x29/0xc4\n [\u003cffffffffa03921b3\u003e] lock_sock+0xb/0xd [l2cap]\n [\u003cffffffffa03948e6\u003e] l2cap_sock_shutdown+0x1c/0x76 [l2cap]\n [\u003cffffffff8106adea\u003e] ? clockevents_program_event+0x75/0x7e\n [\u003cffffffff8106bea2\u003e] ? tick_dev_program_event+0x37/0xa5\n [\u003cffffffffa0394967\u003e] l2cap_sock_release+0x27/0x67 [l2cap]\n [\u003cffffffff8138c971\u003e] sock_release+0x1a/0x67\n [\u003cffffffffa03d2492\u003e] rfcomm_session_del+0x34/0x53 [rfcomm]\n [\u003cffffffffa03d24c5\u003e] rfcomm_session_put+0x14/0x16 [rfcomm]\n [\u003cffffffffa03d28b4\u003e] rfcomm_session_timeout+0xe/0x1a [rfcomm]\n [\u003cffffffff810554a8\u003e] run_timer_softirq+0x1e2/0x29a\n [\u003cffffffffa03d28a6\u003e] ? rfcomm_session_timeout+0x0/0x1a [rfcomm]\n [\u003cffffffff8104e0f6\u003e] __do_softirq+0xfe/0x1c5\n [\u003cffffffff8100e8ce\u003e] ? timer_interrupt+0x1a/0x21\n [\u003cffffffff8100cc4c\u003e] call_softirq+0x1c/0x28\n [\u003cffffffff8100e05b\u003e] do_softirq+0x33/0x6b\n [\u003cffffffff8104daf6\u003e] irq_exit+0x36/0x85\n [\u003cffffffff8100d7a9\u003e] do_IRQ+0xa6/0xbd\n [\u003cffffffff8100c493\u003e] ret_from_intr+0x0/0xa\n \u003cEOI\u003e  [\u003cffffffff812585b3\u003e] ? acpi_idle_enter_bm+0x269/0x294\n [\u003cffffffff812585a9\u003e] ? acpi_idle_enter_bm+0x25f/0x294\n [\u003cffffffff81373ddc\u003e] ? cpuidle_idle_call+0x97/0x107\n [\u003cffffffff8100aca0\u003e] ? cpu_idle+0x53/0xaa\n [\u003cffffffff81429006\u003e] ? rest_init+0x7a/0x7c\n [\u003cffffffff8177bc8c\u003e] ? start_kernel+0x389/0x394\n [\u003cffffffff8177b29c\u003e] ? x86_64_start_reservations+0xac/0xb0\n [\u003cffffffff8177b384\u003e] ? x86_64_start_kernel+0xe4/0xeb\n\nTo fix this, the rfcomm_session_put() needs to be moved out of\nrfcomm_session_timeout() into rfcomm_process_sessions(). In that\ncontext it is perfectly fine to sleep and disconnect the socket.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nTested-by: David John \u003cdavidjon@xenontk.org\u003e\n"
    },
    {
      "commit": "eae38eede2e5f70d65f09327297bd698b0d3ea7e",
      "tree": "695cfeaaa240d4ad9c91b7fb40edfbe8c343534c",
      "parents": [
        "5fbcd3d1a07e234583e17830e8aef47282c22141"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Oct 05 12:23:48 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:26 2009 +0100"
      },
      "message": "Bluetooth: Add RFCOMM option to use L2CAP ERTM mode\n\nBy default the RFCOMM layer would still use L2CAP basic mode. For testing\npurposes this option enables RFCOMM to select enhanced retransmission\nmode.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b885787ea4112eaa80945999ea0901bf742707f",
      "tree": "06fc15f8e8083d5652ccb4d06653d9812dce9c0b",
      "parents": [
        "d5e63bded6e819ca77ee1a1d97c783a31f6caf30"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "message": "net: Generalize socket rx gap / receive queue overflow cmsg\n\nCreate a new socket level option to report number of queue overflows\n\nRecently I augmented the AF_PACKET protocol to report the number of frames lost\non the socket receive queue between any two enqueued frames.  This value was\nexported via a SOL_PACKET level cmsg.  AFter I completed that work it was\nrequested that this feature be generalized so that any datagram oriented socket\ncould make use of this option.  As such I\u0027ve created this patch, It creates a\nnew SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a\nSOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue\noverflowed between any two given frames.  It also augments the AF_PACKET\nprotocol to take advantage of this new feature (as it previously did not touch\nsk-\u003esk_drops, which this patch uses to record the overflow count).  Tested\nsuccessfully by me.\n\nNotes:\n\n1) Unlike my previous patch, this patch simply records the sk_drops value, which\nis not a number of drops between packets, but rather a total number of drops.\nDeltas must be computed in user space.\n\n2) While this patch currently works with datagram oriented protocols, it will\nalso be accepted by non-datagram oriented protocols. I\u0027m not sure if thats\nagreeable to everyone, but my argument in favor of doing so is that, for those\nprotocols which aren\u0027t applicable to this option, sk_drops will always be zero,\nand reporting no drops on a receive queue that isn\u0027t used for those\nnon-participating protocols seems reasonable to me.  This also saves us having\nto code in a per-protocol opt in mechanism.\n\n3) This applies cleanly to net-next assuming that commit\n977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e726b17422bade75fba94e625cd35fd1353e682",
      "tree": "af8cf616d9cbda12f51682dbb96e696f135be436",
      "parents": [
        "ef54fd937fbd5ebaeb023818524565bd526a5f36"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.dentz@openbossa.org",
        "time": "Wed Jul 15 13:50:58 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 15:05:58 2009 -0700"
      },
      "message": "Bluetooth: Fix rejected connection not disconnecting ACL link\n\nWhen using DEFER_SETUP on a RFCOMM socket, a SABM frame triggers\nauthorization which when rejected send a DM response. This is fine\naccording to the RFCOMM spec:\n\n    the responding implementation may replace the \"proper\" response\n    on the Multiplexer Control channel with a DM frame, sent on the\n    referenced DLCI to indicate that the DLCI is not open, and that\n    the responder would not grant a request to open it later either.\n\nBut some stacks doesn\u0027t seems to cope with this leaving DLCI 0 open after\nreceiving DM frame.\n\nTo fix it properly a timer was introduced to rfcomm_session which is used\nto set a timeout when the last active DLC of a session is unlinked, this\nwill give the remote stack some time to reply with a proper DISC frame on\nDLCI 0 avoiding both sides sending DISC to each other on stacks that\nfollow the specification and taking care of those who don\u0027t by taking\ndown DLCI 0.\n\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.dentz@openbossa.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "52d18347dfb61519aa0f58fe1759edd3ad8c4e36",
      "tree": "e704210e27846a7763853d3a15236809c00e3ef4",
      "parents": [
        "a6a67efd7088702fdbbb780c5a3f8e1a74e77b63"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:49:36 2009 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:49:36 2009 -0700"
      },
      "message": "Bluetooth: Coding style cleanup from previous rfcomm_init bug fix\n\nThe rfcomm_init bug fix went into the kernel premature before it got fully\nreviewed and acknowledged by the Bluetooth maintainer. So fix up the coding\nstyle now.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "af0d3b103bcfa877343ee338de12002cd50c9ee5",
      "tree": "a06b348fae8d295b17e7620d00df6701f678d449",
      "parents": [
        "eb4ad826419ab5b1260bc1625249114767d36bea"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Aug 03 04:26:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 03 13:24:39 2009 -0700"
      },
      "message": "bluetooth: rfcomm_init bug fix\n\nrfcomm tty may be used before rfcomm_tty_driver initilized,\nThe problem is that now socket layer init before tty layer, if userspace\nprogram do socket callback right here then oops will happen.\n\nreporting in:\nhttp://marc.info/?l\u003dlinux-bluetooth\u0026m\u003d124404919324542\u0026w\u003d2\n\nmake 3 changes:\n1. remove #ifdef in rfcomm/core.c,\nmake it blank function when rfcomm tty not selected in rfcomm.h\n\n2. tune the rfcomm_init error patch to ensure\ntty driver initilized before rfcomm socket usage.\n\n3. remove __exit for rfcomm_cleanup_sockets\nbecause above change need call it in a __init function.\n\nReported-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nTested-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4324b5dc5b62ba76372e1bf8927230cf744df66",
      "tree": "0827bb177760bd2bdac41fbf6466eb1c825b9d88",
      "parents": [
        "47ec1dcd696d56a7c396e5838516a566ecd4b03d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Jun 07 18:06:51 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:01 2009 +0200"
      },
      "message": "Bluetooth: Remove pointless endian conversion helpers\n\nThe Bluetooth source uses some endian conversion helpers, that in the end\ntranslate to kernel standard routines. So remove this obfuscation since it\nis fully pointless.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e2139b32726e5dd184974c785ea3f62026590801",
      "tree": "663f35194914f7aa2dbb30fb65ed3f4b13ed8da9",
      "parents": [
        "a0a69a0106dab8d20596f97f6674bed3b394d1ee"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@nokia.com",
        "time": "Thu Mar 26 16:41:56 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Apr 19 18:56:45 2009 +0200"
      },
      "message": "Bluetooth: Fix removing of RFCOMM DLC timer with DEFER_SETUP\n\nThere is a missing call to rfcomm_dlc_clear_timer in the case that\nDEFER_SETUP is used and so the connection gets disconnected after the\ntimeout even if it was successfully accepted previously.\n\nThis patch adds a call to rfcomm_dlc_clear_timer to rfcomm_dlc_accept\nwhich will get called when the user accepts the connection by calling\nread() on the socket.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0f043a81ebe84be3576667f04fdda481609e3816",
      "tree": "c54a9ac4a1dc79bd5f2f7ec3ead5aa48802ff7a3",
      "parents": [
        "140716934f67a9b28c3f7032c07c20c746d97a31"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 31 15:19:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:10 2009 -0700"
      },
      "message": "proc tty: remove struct tty_operations::read_proc\n\nstruct tty_operations::proc_fops took it\u0027s place and there is one less\ncreate_proc_read_entry() user now!\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6",
      "tree": "2be39bf8942edca1bcec735145e144a682ca9cd3",
      "parents": [
        "f0de70f8bb56952f6e016a65a8a8d006918f5bf6",
        "0384e2959127a56d0640505d004d8dd92f9c29f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/wimax/i2400m/usb-notif.c\n"
    },
    {
      "commit": "ffa6a7054d172a2f57248dff2de600ca795c5656",
      "tree": "f93c6234bb90295c52fcef09e367ed77ff6c3645",
      "parents": [
        "60530afe1ee8a5532cb09d0ab5bc3f1a6495b780"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Mar 04 12:44:00 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "Driver core: Fix device_move() vs. dpm list ordering, v2\n\ndpm_list currently relies on the fact that child devices will\nbe registered after their parents to get a correct suspend\norder. Using device_move() however destroys this assumption, as\nan already registered device may be moved under a newly registered\none.\n\nThis patch adds a new argument to device_move(), allowing callers\nto specify how dpm_list should be adapted.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "37e62f5516cfb210e64fe53457932df4341b0ad1",
      "tree": "7bf4d14be4acbc9f9198d5dedb5ed5fb9badb729",
      "parents": [
        "2a517ca687232adc8f14893730644da712010ffc"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Feb 17 21:49:33 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:48 2009 +0100"
      },
      "message": "Bluetooth: Fix RFCOMM usage of in-kernel L2CAP sockets\n\nThe CID value of L2CAP sockets need to be set to zero. All userspace\napplications do this via memset() on the sockaddr_l2 structure. The\nRFCOMM implementation uses in-kernel L2CAP sockets and so it has to\nmake sure that l2_cid is set to zero.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8bf4794174659b06d43cc5e290cd384757374613",
      "tree": "d728d18b4725e1b4f4b421703e020af16772008c",
      "parents": [
        "d5f2d2be68876f65dd051b978a7b66265fde9ffd"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 16 02:59:49 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:47 2009 +0100"
      },
      "message": "Bluetooth: Change RFCOMM to use BT_CONNECT2 for BT_DEFER_SETUP\n\nWhen BT_DEFER_SETUP is enabled on a RFCOMM socket, then switch its\ncurrent state from BT_OPEN to BT_CONNECT2. This gives the Bluetooth\ncore a unified way to handle L2CAP and RFCOMM sockets. The BT_CONNECT2\nstate is designated for incoming connections.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0684e5f9fb9e3f7e168ab831dfca693bcb44805b",
      "tree": "1fb1315dff64ef2ebaa24729988b2c3b7c77d578",
      "parents": [
        "efc7688b557dd1be10eead7399b315efcb1dbc74"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 09 02:48:38 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:40 2009 +0100"
      },
      "message": "Bluetooth: Use general bonding whenever possible\n\nWhen receiving incoming connection to specific services, always use\ngeneral bonding. This ensures that the link key gets stored and can be\nused for further authentications.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6e1031a40029492c10509e8c3dcac9b611438ccb",
      "tree": "534b3b4c4b1495ae0f948453bf54e0d71e1216f5",
      "parents": [
        "34a55eda483e8177c9044f93fd2c9107f02bf1c7"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Mon Feb 02 18:03:57 2009 -0800"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:35 2009 +0100"
      },
      "message": "Bluetooth: When encryption is dropped, do not send RFCOMM packets\n\nDuring a role change with pre-Bluetooth 2.1 devices, the remote side drops\nthe encryption of the RFCOMM connection. We allow a grace period for the\nencryption to be re-established, before dropping the connection. During\nthis grace period, the RFCOMM_SEC_PENDING flag is set. Check this flag\nbefore sending RFCOMM packets.\n\nSigned-off-by: Jaikumar Ganesh \u003cjaikumar@google.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "5f9018af004fa8635bbbe3ab2dc61e8a686edfaa",
      "tree": "7d31fb740d7ddff8835c7ece90780a47ae1559cc",
      "parents": [
        "0588d94fd7e414367a7ae517569d2222441c255f"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jan 16 10:09:50 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:34 2009 +0100"
      },
      "message": "Bluetooth: Update version numbers\n\nWith the support for the enhanced security model and the support for\ndeferring connection setup, it is a good idea to increase various\nversion numbers.\n\nThis is purely cosmetic and has no effect on the behavior, but can\nbe really helpful when debugging problems in different kernel versions.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0588d94fd7e414367a7ae517569d2222441c255f",
      "tree": "c8563ce159bbea94e57df39a9b27bb1628ebccdd",
      "parents": [
        "f62e4323ab43c59e7cd7f72c1eb392d7c767ce5a"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jan 16 10:06:13 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:33 2009 +0100"
      },
      "message": "Bluetooth: Restrict application of socket options\n\nThe new socket options should only be evaluated for SOL_BLUETOOTH level\nand not for every other level. Previously this causes some minor issues\nwhen detecting if a kernel with certain features is available.\n\nAlso restrict BT_SECURITY to SOCK_SEQPACKET for L2CAP and SOCK_STREAM for\nthe RFCOMM protocol.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c84b83076b5062f59b6167cdda90d9e5124aa71",
      "tree": "7a47b0b80be4222494b272846ad5233f0d04c6e6",
      "parents": [
        "9f2c8a03fbb3048cf38b158f87aa0c3c09bca084"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jan 16 08:17:51 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:33 2009 +0100"
      },
      "message": "Bluetooth: Pause RFCOMM TX when encryption drops\n\nA role switch with devices following the Bluetooth pre-2.1 standards\nor without Encryption Pause and Resume support is not possible if\nencryption is enabled. Most newer headsets require the role switch,\nbut also require that the connection is encrypted.\n\nFor connections with a high security mode setting, the link will be\nimmediately dropped. When the connection uses medium security mode\nsetting, then a grace period is introduced where the TX is halted and\nthe remote device gets a change to re-enable encryption after the\nrole switch. If not re-enabled the link will be dropped.\n\nBased on initial work by Ville Tervo \u003cville.tervo@nokia.com\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9f2c8a03fbb3048cf38b158f87aa0c3c09bca084",
      "tree": "b8e81e5a8e3f0b8b8a15c06f1cf36e8aa02644e2",
      "parents": [
        "2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:40 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:26 2009 +0100"
      },
      "message": "Bluetooth: Replace RFCOMM link mode with security level\n\nChange the RFCOMM internals to use the new security levels and remove\nthe link mode details.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c1b235594fbab9a13240a1dac12ea9fd99b6440",
      "tree": "eb137a23e0fd8199144a4c3e36902af411e44269",
      "parents": [
        "c89b6e6bda4c8021195778f47567d0cc9dbfe7ec"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:04 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:25 2009 +0100"
      },
      "message": "Bluetooth: Add enhanced security model for Simple Pairing\n\nThe current security model is based around the flags AUTH, ENCRYPT and\nSECURE. Starting with support for the Bluetooth 2.1 specification this is\nno longer sufficient. The different security levels are now defined as\nSDP, LOW, MEDIUM and SECURE.\n\nPreviously it was possible to set each security independently, but this\nactually doesn\u0027t make a lot of sense. For Bluetooth the encryption depends\non a previous successful authentication. Also you can only update your\nexisting link key if you successfully created at least one before. And of\ncourse the update of link keys without having proper encryption in place\nis a security issue.\n\nThe new security levels from the Bluetooth 2.1 specification are now\nused internally. All old settings are mapped to the new values and this\nway it ensures that old applications still work. The only limitation\nis that it is no longer possible to set authentication without also\nenabling encryption. No application should have done this anyway since\nthis is actually a security issue. Without encryption the integrity of\nthe authentication can\u0027t be guaranteed.\n\nAs default for a new L2CAP or RFCOMM connection, the LOW security level\nis used. The only exception here are the service discovery sessions on\nPSM 1 where SDP level is used. To have similar security strength as with\na Bluetooth 2.0 and before combination key, the MEDIUM level should be\nused. This is according to the Bluetooth specification. The MEDIUM level\nwill not require any kind of man-in-the-middle (MITM) protection. Only\nthe HIGH security level will require this.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bb23c0ab824653be4aa7dfca15b07b3059717004",
      "tree": "bd0390c67d129e8b5ddc2a70a1b12e383db6fa16",
      "parents": [
        "c4f912e155504e94dd4f3d63c378dab0ff03dbda"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:56:48 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:23 2009 +0100"
      },
      "message": "Bluetooth: Add support for deferring RFCOMM connection setup\n\nIn order to decide if listening RFCOMM sockets should be accept()ed\nthe BD_ADDR of the remote device needs to be known. This patch adds\na socket option which defines a timeout for deferring the actual\nconnection setup.\n\nThe connection setup is done after reading from the socket for the\nfirst time. Until then writing to the socket returns ENOTCONN.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d58daf42d29a3a4a4d4be46cf47ceee096789680",
      "tree": "c88a5820a44fe993e271437b0fcebdde7e8298d3",
      "parents": [
        "91aa35a5aa3540223066bf6b51c935418c63a35d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:52:14 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:22 2009 +0100"
      },
      "message": "Bluetooth: Preparation for usage of SOL_BLUETOOTH\n\nThe socket option levels SOL_L2CAP, SOL_RFOMM and SOL_SCO are currently\nin use by various Bluetooth applications. Going forward the common\noption level SOL_BLUETOOTH should be used. This patch prepares the clean\nsplit of the old and new option levels while keeping everything backward\ncompatibility.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "91aa35a5aa3540223066bf6b51c935418c63a35d",
      "tree": "ff9e15db0b2e029a7704e4ba8b1f138b6805dbef",
      "parents": [
        "f11c179eea77b8afc2fb7cb4b9a8815b85e3c16f"
      ],
      "author": {
        "name": "Victor Shcherbatyuk",
        "email": "victor.shcherbatyuk@tomtom.com",
        "time": "Thu Jan 15 21:52:12 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:21 2009 +0100"
      },
      "message": "Bluetooth: Fix issue with return value of rfcomm_sock_sendmsg()\n\nIn case of connection failures the rfcomm_sock_sendmsg() should return\nan error and not a 0 value.\n\nSigned-off-by: Victor Shcherbatyuk \u003cvictor.shcherbatyuk@tomtom.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6332178d91ca1a9dbd99bd97cabbcf965d178e9f",
      "tree": "d98af2cbc7ff0e9e4d00b6cc8c79b05ca7815a5f",
      "parents": [
        "908a7a16b852ffd618a9127be8d62432182d81b4",
        "739840d529eb7505d3cbfe9d468bf1440c9a8e27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 23 17:56:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 23 17:56:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ppp_generic.c\n"
    },
    {
      "commit": "1b08534e562dae7b084326f8aa8cc12a4c1b6593",
      "tree": "9fcc3093d7002015d334a28b0b0e21527ed5dcf7",
      "parents": [
        "3298a7388c00227e736d1037328788073c80c7b4"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Dec 18 19:35:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 18 19:35:10 2008 -0800"
      },
      "message": "net: Fix module refcount leak in kernel_accept()\n\nThe kernel_accept() does not hold the module refcount of newsock-\u003eops-\u003eowner,\nso we need __module_get(newsock-\u003eops-\u003eowner) code after call kernel_accept()\nby hand.\nIn sunrpc, the module refcount is missing to hold. So this cause kernel panic.\n\nUsed following script to reproduct:\n\nwhile [ 1 ];\ndo\n    mount -t nfs4 192.168.0.19:/ /mnt\n    touch /mnt/file\n    umount /mnt\n    lsmod | grep ipv6\ndone\n\nThis patch fixed the problem by add __module_get(newsock-\u003eops-\u003eowner) to\nkernel_accept(). So we do not need to used __module_get(newsock-\u003eops-\u003eowner)\nin every place when used kernel_accept().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "037322abe6141e32e1b1dea86a9405d52c99be5d",
      "tree": "f223a6e44f8243cef4d937ad4091af55e21424b7",
      "parents": [
        "0eae1b98cf3022715b5a6ea5f1ac6b0bd7ac4edd"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun Dec 14 23:18:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 14 23:18:00 2008 -0800"
      },
      "message": "bt/rfcomm/tty: join error paths\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e19caae7177fcc732ae1b47135e39f577352adb2",
      "tree": "f212c02bd6888bc6c4a30db6ab3278f365a6fccc",
      "parents": [
        "bcb09dc276e706ed6f22813ba774797125f3da0a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 01:04:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 01:04:27 2008 -0800"
      },
      "message": "bluetooth: Fix unused var warning properly in rfcomm_sock_ioctl().\n\nAs Stephen Rothwell points out, we don\u0027t want \u0027sock\u0027 here but\nrather we really do want \u0027sk\u0027.\n\nThis local var is protected by all sorts of bluetooth debugging\nkconfig vars, but BT_DBG() is just a straight pr_debug() call\nwhich is unconditional.\n\npr_debug() evaluates it\u0027s args only if either DEBUG or\nCONFIG_DYNAMIC_PRINTK_DEBUG is defined.\n\nSolving this inside of the BT_DBG() macro is non-trivial since\nit\u0027s varargs.  And these ifdefs are ugly.\n\nSo, just mark this \u0027sk\u0027 thing __maybe_unused and kill the ifdefs.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cf1a0f856bcb5423bfb4121b2dfeaa3ba7b1ff2",
      "tree": "cc1ea9def5bfbe95a91add565f04b0fd4f08685f",
      "parents": [
        "e42130039c85826567d4e4864f2c7492578576cb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 00:01:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 00:01:53 2008 -0800"
      },
      "message": "bluetooth: Fix rfcomm_sock_ioctl() build failure with debugging enabled.\n\nIt\u0027s \u0027sock\u0027 not \u0027sk\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a5df92374d65e2886b92e98dd7d873c533a83ff",
      "tree": "0e45cc166ce12c42cb7a94cac2dd82e255552120",
      "parents": [
        "2e792995e4cb425422dc379c3618447c462756a8"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:29 2008 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:29 2008 +0100"
      },
      "message": "Bluetooth: Fix RFCOMM release oops when device is still in use\n\nIt turns out that the following sequence of actions will reproduce the\noops:\n\n  1. Create a new RFCOMM device (using RFCOMMCREATEDEV ioctl)\n  2. (Try to) open the device\n  3. Release the RFCOMM device (using RFCOMMRELEASEDEV ioctl)\n\nAt this point, the \"/dev/rfcomm*\" device is still in use, but it is gone\nfrom the internal list, so the device id can be reused.\n\n  4. Create a new RFCOMM device with the same device id as before\n\nAnd now kobject will complain that the TTY already exists.\n\n(See http://lkml.org/lkml/2008/7/13/89 for a reproducible test-case.)\n\nThis patch attempts to correct this by only removing the device from the\ninternal list of devices at the final unregister stage, so that the id\nwon\u0027t get reused until the device has been completely destructed.\n\nThis should be safe as the RFCOMM_TTY_RELEASED bit will be set for the\ndevice and prevent the device from being reopened after it has been\nreleased.\n\nBased on a report from Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a418b893a6af11ae73c762ed5b76c1bad6dc19d8",
      "tree": "a24f9192988e4d55077d77420b90dc3cfd647a06",
      "parents": [
        "5ddd4a60683f819982b7bd3d1aee972f931c11a3"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:28 2008 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 12:17:28 2008 +0100"
      },
      "message": "Bluetooth: Enable per-module dynamic debug messages\n\nWith the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to\nallow debugging without having to recompile the kernel. This patch turns\nall BT_DBG() calls into pr_debug() to support dynamic debug messages.\n\nAs a side effect all CONFIG_BT_*_DEBUG statements are now removed and\nsome broken debug entries have been fixed.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "45555c0ed436b8b06eeaa5c524a3377e6d24fb45",
      "tree": "b339a04dbcb47cfaf3c3a489624b7b404e229be5",
      "parents": [
        "ff0db0490a2eb6db4f03870987c5c8e3dd81e747"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 16:59:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 16:59:21 2008 -0800"
      },
      "message": "bluetooth: fix warning in net/bluetooth/rfcomm/sock.c\n\nfix this warning:\n\n  net/bluetooth/rfcomm/sock.c: In function ‘rfcomm_sock_ioctl’:\n  net/bluetooth/rfcomm/sock.c:795: warning: unused variable ‘sk’\n\nperhaps BT_DEBUG() should be improved to do printf format checking\ninstead of the #ifdef, but that looks quite intrusive: each bluetooth\n.c file undefines the macro.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ],
  "next": "93d807401ced2320d0d1e56bf9de099bba5c0424"
}
