)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "93d807401ced2320d0d1e56bf9de099bba5c0424",
      "tree": "8d9a471779124e7dea089ec59933b20d4c7480f4",
      "parents": [
        "6e46c8cb3cbfa7bafe78d43a3d57750605a2dfa3"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Feb 05 03:12:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:12:06 2008 -0800"
      },
      "message": "bluetooth rfcomm tty: destroy before tty_close()\n\nrfcomm dev could be deleted in tty_hangup, so we must not call\nrfcomm_dev_del again to prevent from destroying rfcomm dev before tty\nclose.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acea6852f32b8805e166d885ed7e9f0c7cd10d41",
      "tree": "515aefb6f5346d417933a6b8958d1052cea51f6a",
      "parents": [
        "667984d9e481e43a930a478c588dced98cb61fea"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Jan 21 22:35:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 23 03:11:39 2008 -0800"
      },
      "message": "[BLUETOOTH]: Move children of connection device to NULL before connection down.\n\nThe rfcomm tty device will possibly retain even when conn is down, and\nsysfs doesn\u0027t support zombie device moving, so this patch move the tty\ndevice before conn device is destroyed.\n\nFor the bug refered please see :\nhttp://lkml.org/lkml/2007/12/28/87\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f951375d470c1a20d92c34377991197e6bf17990",
      "tree": "c479a1b80c14072a9486214f034078ab6f524471",
      "parents": [
        "ecd2ebdea350c40e73c00d400d74c8a09c072082"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Jan 10 22:22:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 22:22:52 2008 -0800"
      },
      "message": "[BLUETOOTH]: rfcomm tty BUG_ON() code fix\n\n1) In tty.c the BUG_ON at line 115 will never be called, because the the\n   before list_del_init in this same function.\n\t115          BUG_ON(!list_empty(\u0026dev-\u003elist));\n   So move the list_del_init to rfcomm_dev_del \n\n2) The rfcomm_dev_del could be called from diffrent path\n   (rfcomm_tty_hangup/rfcomm_dev_state_change/rfcomm_release_dev),\n\n   So add another BUG_ON when the rfcomm_dev_del is called more than\n   one time.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a524eccc7307b1d6e79f03fed79f9f34c016ce56",
      "tree": "ecf52ff4aa025cf860d92af3efede469585d5788",
      "parents": [
        "2cb3377a295aade1f2e192d4bea948b2196fb162"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 21:37:20 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:49 2007 -0700"
      },
      "message": "[Bluetooth] Convert RFCOMM to use kthread API\n\nThis patch does the full kthread conversion for the RFCOMM protocol. It\nmakes the code slightly simpler and more maintainable.\n\nBased on a patch from Christoph Hellwig \u003chch@lst.de\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "dae6a0f6636d05bcb28ece1f3630b23ed2d66e18",
      "tree": "8ff4443b7ec8bf8e8aa391079832fce61f033368",
      "parents": [
        "6792b5ec8d9e723e4689fd5b16cfa52603985f43"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 14:52:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:47 2007 -0700"
      },
      "message": "[Bluetooth] Add address and channel attribute to RFCOMM TTY device\n\nExport the remote device address and channel of RFCOMM TTY device\nvia sysfs attributes. This allows udev to create better naming rules\nfor configured RFCOMM devices.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09c7d8293a2d1317d16ef4ddb9f6dd2553d0694e",
      "tree": "a459a511a60427dd75796be371b4d1b99214acec",
      "parents": [
        "566cfd8f0e049a0647f94714f913e2a975dc464f"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jul 26 00:12:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:05 2007 -0700"
      },
      "message": "[IRDA]: Fix rfcomm use-after-free\n\nAdrian Bunk wrote:\n\u003e Commit 8de0a15483b357d0f0b821330ec84d1660cadc4e added the following\n\u003e use-after-free in net/bluetooth/rfcomm/tty.c:\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e ...\n\u003e static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc)\n\u003e {\n\u003e ...\n\u003e         if (IS_ERR(dev-\u003etty_dev)) {\n\u003e                 list_del(\u0026dev-\u003elist);\n\u003e                 kfree(dev);\n\u003e                 return PTR_ERR(dev-\u003etty_dev);\n\u003e         }\n\u003e ...\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e Spotted by the Coverity checker.\n\nreally good catch. I fully overlooked that one. The attached patch\nshould fix it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8de0a15483b357d0f0b821330ec84d1660cadc4e",
      "tree": "b53fe490c95066dfc95f58d52b26e3f1f75ecdba",
      "parents": [
        "84950cf0ba02fd6a5defe2511bc41f9aa2237632"
      ],
      "author": {
        "name": "Ville Tervo",
        "email": "ville.tervo@nokia.com",
        "time": "Wed Jul 11 09:23:41 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 11 07:06:51 2007 +0200"
      },
      "message": "[Bluetooth] Keep rfcomm_dev on the list until it is freed\n\nThis patch changes the RFCOMM TTY release process so that the TTY is kept\non the list until it is really freed. A new device flag is used to keep\ntrack of released TTYs.\n\nSigned-off-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "84950cf0ba02fd6a5defe2511bc41f9aa2237632",
      "tree": "e6c6d6b243d8c8d5bafdaa9d2054458409b17c82",
      "parents": [
        "924f0e4a06419fa1996425d1d2512030e43acbba"
      ],
      "author": {
        "name": "Mikko Rapeli",
        "email": "mikko.rapeli@iki.fi",
        "time": "Wed Jul 11 09:18:15 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 11 07:01:26 2007 +0200"
      },
      "message": "[Bluetooth] Hangup TTY before releasing rfcomm_dev\n\nThe core problem is that RFCOMM socket layer ioctl can release\nrfcomm_dev struct while RFCOMM TTY layer is still actively using\nit. Calling tty_vhangup() is needed for a synchronous hangup before\nrfcomm_dev is freed.\n\nAddresses the oops at http://bugzilla.kernel.org/show_bug.cgi?id\u003d7509\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9cf5b0ea3a7f1432c61029f7aaf4b8b338628884",
      "tree": "df659b3fe371301a6dba33782451655a09e9c25b",
      "parents": [
        "77f2a45fa1ba33147fd6cc8ae546188504a822cd"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:36:13 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:36:13 2007 +0200"
      },
      "message": "[Bluetooth] Disconnect L2CAP connection after last RFCOMM DLC\n\nThe RFCOMM specification says that the device closing the last DLC on\na particular session is responsible for closing the multiplexer by\nclosing the corresponding L2CAP channel.\n\nSigned-off-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "77f2a45fa1ba33147fd6cc8ae546188504a822cd",
      "tree": "c714c55fde74c5dd82b031b8ac605121a2b3f5b7",
      "parents": [
        "48db9ca4f2ac9f39eb90ccb12ad3ca7b645a552c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:36:10 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:36:10 2007 +0200"
      },
      "message": "[Bluetooth] Check that device is in rfcomm_dev_list before deleting\n\nIf RFCOMM_RELEASE_ONHUP flag is on and rfcomm_release_dev is called\nbefore connection is closed, rfcomm_dev is deleted twice from the\nrfcomm_dev_list and refcount is messed up. This patch adds a check\nbefore deleting device that the device actually is listed.\n\nSigned-off-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "48db9ca4f2ac9f39eb90ccb12ad3ca7b645a552c",
      "tree": "5e821efe2a51e60d0c195ee87b5782a36bcad15a",
      "parents": [
        "53c1d4b0b22243c093ded25aaa01c8ff8ab6e6b3"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:36:06 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:36:06 2007 +0200"
      },
      "message": "[Bluetooth] Use in-kernel sockets API\n\nThe kernel provides a new convenient way to access the sockets API for\nin-kernel users. It is a good idea to actually use it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "74da9d88bf5ffd31aed61a0b19519684ad744ded",
      "tree": "601509eaf04f387578ddc72015c0d7c62709e72a",
      "parents": [
        "9198d2220d29b87ac3a05a3b791c50bb8a014d63"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Apr 26 01:41:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 01:41:01 2007 -0700"
      },
      "message": "[BLUETOOTH] rfcomm_worker(): fix wakeup race\n\nSet TASK_INTERRUPTIBLE prior to testing the flag to avoid missed wakeups.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1a3313698895d8ad4760f98642007bf236af2e8",
      "tree": "337a876f727061362b6a169f8759849c105b8f7a",
      "parents": [
        "f5ffd4620aba9e55656483ae1ef5c79ba81f5403"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Feb 17 23:58:57 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 26 11:42:41 2007 -0800"
      },
      "message": "[Bluetooth] Make use of device_move() for RFCOMM TTY devices\n\nIn the case of bound RFCOMM TTY devices the parent is not available\nbefore its usage. So when opening a RFCOMM TTY device, move it to\nthe corresponding ACL device as a child. When closing the device,\nmove it back to the virtual device tree.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8e87d14255acffeee36873de226dc25c11b5f46d",
      "tree": "e11c179c8db4ae3ad56ea02d583bc041dcc686b6",
      "parents": [
        "528930b91ee89a05a6264629cf99109652c19ca8"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:33 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:20 2007 -0800"
      },
      "message": "[NET] BLUETOOTH: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d6a2188bd456969f52c03edf1988de90f08d9f5",
      "tree": "ccbae1cf287db409d62c4178d417337ed4b409d1",
      "parents": [
        "b6e557fbf1dbba8cfa667a25503e5dbd0e9330b7"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jan 08 02:16:31 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 09 00:29:55 2007 -0800"
      },
      "message": "[Bluetooth] Fix uninitialized return value for RFCOMM sendmsg()\n\nWhen calling send() with a zero length parameter on a RFCOMM socket\nit returns a positive value. In this rare case the variable err is\nused uninitialized and unfortunately its value is returned.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b6e557fbf1dbba8cfa667a25503e5dbd0e9330b7",
      "tree": "21296e7953c115aefb4967ad7680b6a5fc680310",
      "parents": [
        "f4777569204cb59f2f04fbe9ef4e9a6918209104"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jan 08 02:16:27 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 09 00:29:54 2007 -0800"
      },
      "message": "[Bluetooth] More checks if DLC is still attached to the TTY\n\nIf the DLC device is no longer attached to the TTY device, then return\nerrors or default values for various callbacks of the TTY layer.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "606d099cdd1080bbb50ea50dc52d98252f8f10a1",
      "tree": "80d17450a5fb78effce3f4312f672c058658e004",
      "parents": [
        "edc6afc5496875a640bef0913604be7550c1795d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Dec 08 02:38:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:57 2006 -0800"
      },
      "message": "[PATCH] tty: switch to ktermios\n\nThis is the grungy swap all the occurrences in the right places patch that\ngoes with the updates.  At this point we have the same functionality as\nbefore (except that sgttyb() returns speeds not zero) and are ready to\nbegin turning new stuff on providing nobody reports lots of bugs\n\nIf you are a tty driver author converting an out of tree driver the only\nimpact should be termios-\u003ektermios name changes for the speed/property\nsetting functions from your upper layers.\n\nIf you are implementing your own TCGETS function before then your driver\nwas broken already and its about to get a whole lot more painful for you so\nplease fix it 8)\n\nAlso fill in c_ispeed/ospeed on init for most devices, although the current\ncode will do this for you anyway but I\u0027d like eventually to lose that extra\nparanoia\n\n[akpm@osdl.org: bluetooth fix]\n[mp3@de.ibm.com: sclp fix]\n[mp3@de.ibm.com: warning fix for tty3270]\n[hugh@veritas.com: fix tty_ioctl powerpc build]\n[jdike@addtoit.com: uml: fix -\u003eset_termios declaration]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nAcked-by: Peter Oberparleiter \u003coberpar@de.ibm.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e8db8c99100750ade5a9b4072b9469cab718a5b7",
      "tree": "c264573d90b266a2f8ba834c1942d14019c55deb",
      "parents": [
        "6ba9c755e5f044c6a37296481bf6a861e4193a37"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:28:44 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:30 2006 -0800"
      },
      "message": "[BLUETOOTH] rfcomm endianness bug: param_mask is little-endian on the wire\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ba9c755e5f044c6a37296481bf6a861e4193a37",
      "tree": "d6b9b656ca6e7b397a3a2f843ebe7ab26e2c1a19",
      "parents": [
        "1bc5d4483a83349f143e2bbf23ec144cd7e21e89"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:28:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:29 2006 -0800"
      },
      "message": "[BLUETOOTH]: rfcomm endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff2d367ac33b9278c9516ac1888207dac11d10b0",
      "tree": "7280d3007f20c2c9921f150ec3a84ca52194176e",
      "parents": [
        "6bd57416127e92d35e6798925502c84e14a3a966"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Nov 18 22:14:42 2006 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Nov 21 16:16:30 2006 -0800"
      },
      "message": "[Bluetooth] Check if RFCOMM session is still attached to the TTY\n\nIf the RFCOMM session is no longer attached to the TTY device, then it\nmakes no sense to go through with changing the termios settings.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "74da626a1098640ddc40c0e3481c0cd41e8ec1e9",
      "tree": "65e6f72f07c0cccbb37b3b079d93276b061d9ade",
      "parents": [
        "cb19d9ea2ce2bcbe291d3d48e3501dc4f33ba627"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Oct 15 17:31:14 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:34 2006 -0700"
      },
      "message": "[Bluetooth] Add locking for bt_proto array manipulation\n\nThe bt_proto array needs to be protected by some kind of locking to\nprevent a race condition between bt_sock_create and bt_sock_register.\n\nAnd in addition all calls to sk_alloc need to be made GFP_ATOMIC now.\n\nSigned-off-by: Masatake YAMATO \u003cjet@gyve.org\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "cb19d9ea2ce2bcbe291d3d48e3501dc4f33ba627",
      "tree": "7cd11f8151f7c8bbf04ca74b1d0faaad3e3fd91c",
      "parents": [
        "b2cfcd75df77b80d9cc3fa84190a350dfa79eb93"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Oct 15 17:31:10 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:33 2006 -0700"
      },
      "message": "[Bluetooth] Check if DLC is still attached to the TTY\n\nIf the DLC device is no longer attached to the TTY device, then it\nmakes no sense to go through with changing the termios settings.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b2cfcd75df77b80d9cc3fa84190a350dfa79eb93",
      "tree": "661abc82652a6cc7ff665861d98d127e2152affc",
      "parents": [
        "e86070c83e9110e89800274385c013db602b1444"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Oct 15 17:31:05 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:32 2006 -0700"
      },
      "message": "[Bluetooth] Fix reference count when connection lookup fails\n\nWhen the connection lookup for the device structure fails, the reference\ncount for the HCI device needs to be decremented.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "df5c37ea9a3820a9515d8204450aec00f48f8f88",
      "tree": "0a7ca311e03be7738ae9e2bcbd3c43c7b8f9cf74",
      "parents": [
        "e9c5702e3c5558dade169949abd730173e87ef9c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Oct 15 17:30:45 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:28 2006 -0700"
      },
      "message": "[Bluetooth] Handle return values from driver core functions\n\nSome return values of the driver core register and create functions\nare not handled and so might cause unexpected problems.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b68e31d0ebbcc909d1941f9f230c9d062a3a13d3",
      "tree": "b32902e5de02081cbb9eca49d7bb0b444e2b4f23",
      "parents": [
        "ed97bd37efd8ff7398d3a7eedf4bcbf245f5dad3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Oct 02 02:17:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:14 2006 -0700"
      },
      "message": "[PATCH] const struct tty_operations\n\nAs part of an SMP cleanliness pass over UML, I consted a bunch of\nstructures in order to not have to document their locking.  One of these\nstructures was a struct tty_operations.  In order to const it in UML\nwithout introducing compiler complaints, the declaration of\ntty_set_operations needs to be changed, and then all of its callers need to\nbe fixed.\n\nThis patch declares all struct tty_operations in the tree as const.  In all\ncases, they are static and used only as input to tty_set_operations.  As an\nextra check, I ran an i386 allyesconfig build which produced no extra\nwarnings.\n\n53 drivers are affected.  I checked the history of a bunch of them, and in\nmost cases, there have been only a handful of maintenance changes in the\nlast six months.  serial_core.c was the busiest one that I looked at.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4c612a473eb816dff6e5ab6820dff338057aa8d",
      "tree": "26d2a88e2355ec9852abf4f70b7990087da3a58c",
      "parents": [
        "7785162cf2baf7c6c1e4ad8ae5888f85fcc5febc"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Sep 23 09:54:38 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:31 2006 -0700"
      },
      "message": "[Bluetooth] Return EINPROGRESS for non-blocking socket calls\n\nIn case of non-blocking socket calls we should return EINPROGRESS\nand not EAGAIN.\n\nSigned-off-by: Ulisses Furquim \u003culissesf@gmail.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0a85b964e141a4b8db6eaf500ceace12f8f52f93",
      "tree": "8479bdc23230d7c1fa581af15199d7bef7268231",
      "parents": [
        "b219e3ac66183fc9771b94af931fb5fd41d586ec"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jul 06 13:09:02 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:26 2006 -0700"
      },
      "message": "[Bluetooth] Integrate services into the driver model\n\nThis patch integrates the services of the Bluetooth protocols RFCOMM,\nBNEP and HIDP into the driver model. This makes it possible to assign\nthe virtual TTY, network and input devices to a specific Bluetooth\nconnection.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "98bcd08b5bfe78c1c9bda5768aa081e0fe4fcc4f",
      "tree": "171c7984eeaade72d57a325ee26d55e4408bbdd1",
      "parents": [
        "2266d8886f64c66e0a4e61e3e1c19dbc27ed00d4"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jul 14 11:42:12 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 24 12:44:25 2006 -0700"
      },
      "message": "[Bluetooth] Correct RFCOMM channel MTU for broken implementations\n\nSome Bluetooth RFCOMM implementations try to negotiate a bigger channel\nMTU than we can support for a particular session. The maximum MTU for\na RFCOMM session is limited through the L2CAP layer. So if the other\nside proposes a channel MTU that is bigger than the underlying L2CAP\nMTU, we should reduce it to the L2CAP MTU of the session minus five\nbytes for the RFCOMM headers.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "25ea6db04a96d7871e7ece27d566f3228d59d932",
      "tree": "12d0b6735a451111c8b45ebb9523caac9578d0fc",
      "parents": [
        "c2ce920468624d87ec5f91f080ea99681dae6d88"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jul 06 15:40:09 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 12 15:34:28 2006 -0700"
      },
      "message": "[Bluetooth] Remaining transitions to use kzalloc()\n\nThis patch makes the remaining transitions to use kzalloc().\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "300b93974ff64f1bef1ac8294547c573954f0300",
      "tree": "94b33acffd99c50986ba4ede3e61495485a88342",
      "parents": [
        "7c2660b00fae0575dd4ce5c7b6bf30762b632045"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:37:55 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:54:09 2006 -0700"
      },
      "message": "[Bluetooth] Add RFCOMM role switch support\n\nThis patch adds the support for RFCOMM role switching before the\nconnection is fully established.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7c2660b00fae0575dd4ce5c7b6bf30762b632045",
      "tree": "de8be4ccdb2d1977be00af5afae65a0a97a7aec9",
      "parents": [
        "0139418c943c3389cf75afc4f4d2b2fa52bbf7c9"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:51 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:54:07 2006 -0700"
      },
      "message": "[Bluetooth] Allow disabling of credit based flow control\n\nThis patch adds the module parameter disable_cfc which can be used to\ndisable the credit based flow control. The credit based flow control\nwas introduced with the Bluetooth 1.1 specification and devices can\nnegotiate its support, but for testing purpose it is helpful to allow\ndisabling of it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a91f2e396f5b32b21d842b4757bc8de5e88eac66",
      "tree": "174b88a20feea87734bf63ec7104eae0b205649a",
      "parents": [
        "27d35284258c596900e0e41c46932ec4abe6a7b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:41 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:54:02 2006 -0700"
      },
      "message": "[Bluetooth] Use real devices for host controllers\n\nThis patch converts the Bluetooth class devices into real devices. The\nBluetooth class is kept and the driver core provides the appropriate\nsymlinks for backward compatibility.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "602cada851b28c5792339786efe872fbdc1f5d41",
      "tree": "233d474b74d6038b5bb54a07ad91dd1bb10b0218",
      "parents": [
        "82991c6f2c361acc17279b8124d9bf1878973435",
        "fee68d1cc0d9bd863e51c16cdcd707737b16bb38"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 14:19:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 14:19:21 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6: (22 commits)\n  [PATCH] devfs: Remove it from the feature_removal.txt file\n  [PATCH] devfs: Last little devfs cleanups throughout the kernel tree.\n  [PATCH] devfs: Rename TTY_DRIVER_NO_DEVFS to TTY_DRIVER_DYNAMIC_DEV\n  [PATCH] devfs: Remove the tty_driver devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the line_driver devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the videodevice devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the gendisk devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the miscdevice devfs_name field as it\u0027s no longer needed\n  [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree\n  [PATCH] devfs: Remove devfs_remove() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_cdev() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_bdev() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_symlink() function from the kernel tree\n  [PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree\n  [PATCH] devfs: Remove devfs_*_tape() functions from the kernel tree\n  [PATCH] devfs: Remove devfs support from the sound subsystem\n  [PATCH] devfs: Remove devfs support from the ide subsystem.\n  [PATCH] devfs: Remove devfs support from the serial subsystem\n  [PATCH] devfs: Remove devfs from the init code\n  [PATCH] devfs: Remove devfs from the partition code\n  ...\n"
    },
    {
      "commit": "817d6d3bceaf34c99f5343820f9b9e6021f0655c",
      "tree": "651104833124262db46c2a372b7adb55289cd8dd",
      "parents": [
        "e0ac4761fa52acda90f9f53819c81474b511e3af"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Wed Jun 28 04:26:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:05 2006 -0700"
      },
      "message": "[PATCH] remove TTY_DONT_FLIP\n\nRemove TTY_DONT_FLIP tty flag.  This flag was introduced in 2.1.X kernels\nto prevent the N_TTY line discipline functions read_chan() and\nn_tty_receive_buf() from running at the same time.  2.2.15 introduced\ntty-\u003eread_lock to protect access to the N_TTY read buffer, which is the\nonly state requiring protection between these two functions.\n\nThe current TTY_DONT_FLIP implementation is broken for SMP, and is not\nuniversally honored by drivers that send data directly to the line\ndiscipline receive_buf function.\n\nBecause TTY_DONT_FLIP is not necessary, is broken in implementation, and is\nnot universally honored, it is removed.\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "331b831983f9d706f4a40d08a996d5c2c7a6ea7b"
}
