)]}'
{
  "log": [
    {
      "commit": "d22faec22c2ab2364fd8fc3c8159b0b5b28b0fd1",
      "tree": "90a286b17b500447e413d8d6a1f119f696a06e3c",
      "parents": [
        "40589e74f7ba855f3a887c9d4abe9d100c5b039c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 10:52:28 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:43 2010 -0700"
      },
      "message": "RDS: Do not mask address when pinning pages\n\nThis does not appear to be necessary.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "40589e74f7ba855f3a887c9d4abe9d100c5b039c",
      "tree": "f32b0414ae3cfe8868fbdb130f9b24ac19794ae3",
      "parents": [
        "15133f6e67d8d646d0744336b4daa3135452cb0d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 10:50:48 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:42 2010 -0700"
      },
      "message": "RDS: Base init_depth and responder_resources on hw values\n\nInstead of using a constant for initiator_depth and\nresponder_resources, read the per-QP values when the\ndevice is enumerated, and then use these values when creating\nthe connection.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "15133f6e67d8d646d0744336b4daa3135452cb0d",
      "tree": "e5675d5a3ab240edc9a66af6b891dd75fa9eabae",
      "parents": [
        "a63273d4992603979ddb181b6a8f07082839b39f"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:33:38 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:41 2010 -0700"
      },
      "message": "RDS: Implement atomic operations\n\nImplement a CMSG-based interface to do FADD and CSWP ops.\n\nAlter send routines to handle atomic ops.\n\nAdd atomic counters to stats.\n\nAdd xmit_atomic() to struct rds_transport\n\nInline rds_ib_send_unmap_rdma into unmap_rm\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "a63273d4992603979ddb181b6a8f07082839b39f",
      "tree": "2132efc5d723b02df281dc308d4e892aca295be7",
      "parents": [
        "f4dd96f7b27743e568cec519eff0f951c56833c6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:19:32 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:40 2010 -0700"
      },
      "message": "RDS: Clear up some confusing code in send_remove_from_sock\n\nThe previous code was correct, but made the assumption that\nif r_notifier was non-NULL then either r_recverr or r_notify\nwas true. Valid, but fragile. Changed to explicitly check\nr_recverr (shows up in greps for recverr now, too.)\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "f4dd96f7b27743e568cec519eff0f951c56833c6",
      "tree": "7190122e832f3ce6ed394fb7293c037562b346f6",
      "parents": [
        "ff87e97a9d70c9ae133d3d3d7792b26ab85f4297"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:17:31 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:39 2010 -0700"
      },
      "message": "RDS: make sure all sgs alloced are initialized\n\nrds_message_alloc_sgs() now returns correctly-initialized\nsg lists, so calleds need not do this themselves.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "ff87e97a9d70c9ae133d3d3d7792b26ab85f4297",
      "tree": "32de73cdf5e4353e89b3351eaae695f69faa868b",
      "parents": [
        "21f79afa5fda2820671a8f64c3d0e43bb118053b"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:13:15 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:38 2010 -0700"
      },
      "message": "RDS: make m_rdma_op a member of rds_message\n\nThis eliminates a separate memory alloc, although\nit is now necessary to add an \"r_active\" flag, since\nit is no longer to use the m_rdma_op pointer as an\nindicator of if an rdma op is present.\n\nrdma SGs allocated from rm sg pool.\n\nrds_rm_size also gets bigger. It\u0027s a little inefficient to\nrun through CMSGs twice, but it makes later steps a lot smoother.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "21f79afa5fda2820671a8f64c3d0e43bb118053b",
      "tree": "54029e0dbe3e4a68d579c02c5e9ed9d1fb63cfae",
      "parents": [
        "fc445084f185cdd877bec323bfe724a361e2292a"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:57:27 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:37 2010 -0700"
      },
      "message": "RDS: fold rdma.h into rds.h\n\nRDMA is now an intrinsic part of RDS, so it\u0027s easier to just have\na single header.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "fc445084f185cdd877bec323bfe724a361e2292a",
      "tree": "eda014c09872cbbacc411ea3b89f359291ccb577",
      "parents": [
        "3ef13f3c22aaea28aff383cb0883481d24885456"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:56:06 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:36 2010 -0700"
      },
      "message": "RDS: Explicitly allocate rm in sendmsg()\n\nr_m_copy_from_user used to allocate the rm as well as kernel\nbuffers for the data, and then copy the data in. Now, sendmsg()\nallocates the rm, although the data buffer alloc still happens\nin r_m_copy_from_user.\n\nSGs are still allocated with rm, but now r_m_alloc_sgs() is\nused to reserve them. This allows multiple SG lists to be\nallocated from the one rm -- this is important once we also\nwant to alloc our rdma sgl from this pool.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "3ef13f3c22aaea28aff383cb0883481d24885456",
      "tree": "2d7277a9401c5d47c0a42d5de3e27f1df042da6b",
      "parents": [
        "e779137aa76d38d5c33a98ed887092ae4e4f016f"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:37:17 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:35 2010 -0700"
      },
      "message": "RDS: cleanup/fix rds_rdma_unuse\n\nFirst, it looks to me like the atomic_inc is wrong.\nWe should be decrementing refcount only once here, no? It\u0027s\nalready being done by the mr_put() at the end.\n\nSecond, simplify the logic a bit by bailing early (with a warning)\nif !mr.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "e779137aa76d38d5c33a98ed887092ae4e4f016f",
      "tree": "af0a34f9334bd11ca507d4e63a963c561ff981ae",
      "parents": [
        "8690bfa17aea4c42da1bcf90a7af93d161eca624"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 12:15:02 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:33 2010 -0700"
      },
      "message": "RDS: break out rdma and data ops into nested structs in rds_message\n\nClearly separate rdma-related variables in rm from data-related ones.\nThis is in anticipation of adding atomic support.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "8690bfa17aea4c42da1bcf90a7af93d161eca624",
      "tree": "88c4c5fa63aab0c18cf13228c4b3a6f980aa74be",
      "parents": [
        "2dc393573430f853e56e25bf4b41c34ba2aa8fd6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 11:56:44 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:32 2010 -0700"
      },
      "message": "RDS: cleanup: remove \"\u003d\u003d NULL\"s and \"!\u003d NULL\"s in ptr comparisons\n\nFavor \"if (foo)\" style over \"if (foo !\u003d NULL)\".\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "2dc393573430f853e56e25bf4b41c34ba2aa8fd6",
      "tree": "f7a3ddb99aab472aa5054a10043419d4b22bb312",
      "parents": [
        "9de0864cf55927a7383b5ba6e48834ff3ef053de"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Jun 11 13:49:13 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:10:13 2010 -0700"
      },
      "message": "RDS: move rds_shutdown_worker impl. to rds_conn_shutdown\n\nThis fits better in connection.c, rather than threads.c.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "9de0864cf55927a7383b5ba6e48834ff3ef053de",
      "tree": "875dcd8ecf01f539ac050763b449573d4210dadf",
      "parents": [
        "7c82eaf00ec7d460932be9314b29997006b799b6"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 29 16:50:54 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:32 2010 -0700"
      },
      "message": "RDS: Fix locking in send on m_rs_lock\n\nDo not nest m_rs_lock under c_lock\n\nDisable interrupts in {rdma,atomic}_send_complete\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "7c82eaf00ec7d460932be9314b29997006b799b6",
      "tree": "dd1e46ceb37ab4d5b6688d04805240eb9fcb7fbe",
      "parents": [
        "35b52c70534cb7193b218ec12efe6bc595312097"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Feb 19 18:01:41 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:32 2010 -0700"
      },
      "message": "RDS: Rewrite rds_send_drop_to() for clarity\n\nThis function has been the source of numerous bugs; it\u0027s just\ntoo complicated. Simplified to nest spinlocks cleanly within\nthe second loop body, and kick out early if there are no\nrms to drop.\n\nThis will be a little slower because conn lock is grabbed for\neach entry instead of \"caching\" the lock across rms, but this\nshould be entirely irrelevant to fastpath performance.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "35b52c70534cb7193b218ec12efe6bc595312097",
      "tree": "8370e4b3e9d0ed1cc353f8b23531c97f8cc63ddc",
      "parents": [
        "9e2effba2c16fc3bd47da605116485afe01e0be0"
      ],
      "author": {
        "name": "Tina Yang",
        "email": "tina.yang@oracle.com",
        "time": "Thu Apr 01 14:09:00 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:31 2010 -0700"
      },
      "message": "RDS: Fix corrupted rds_mrs\n\nOn second look at this bug (OFED #2002), it seems that the\ncollision is not with the retransmission queue (packet acked\nby the peer), but with the local send completion.  A theoretical\nsequence of events (from time t0 to t3) is thought to be as\nfollows,\n\nThread #1\nt0:\n    sock_release\n    rds_release\n    rds_send_drop_to /* wait on send completion */\nt2:\n    rds_rdma_drop_keys()   /* destroy \u0026 free all mrs */\n\nThread #2\nt1:\n    rds_ib_send_cq_comp_handler\n    rds_ib_send_unmap_rm\n    rds_message_unmapped   /* wake up #1 @ t0 */\nt3:\n    rds_message_put\n    rds_message_purge\n    rds_mr_put   /* memory corruption detected */\n\nThe problem with the rds_rdma_drop_keys() is it could\nremove a mr\u0027s refcount more than its due (i.e. repeatedly\nas long as it still remains in the tree (mr-\u003er_refcount \u003e 0)).\nTheoretically it should remove only one reference - reference\nby the tree.\n\n        /* Release any MRs associated with this socket */\n        while ((node \u003d rb_first(\u0026rs-\u003ers_rdma_keys))) {\n                mr \u003d container_of(node, struct rds_mr, r_rb_node);\n                if (mr-\u003er_trans \u003d\u003d rs-\u003ers_transport)\n                        mr-\u003er_invalidate \u003d 0;\n                rds_mr_put(mr);\n        }\n\nI think the correct way of doing it is to remove the mr from\nthe tree and rds_destroy_mr it first, then a rds_mr_put()\nto decrement its reference count by one.  Whichever thread\nholds the last reference will free the mr via rds_mr_put().\n\nSigned-off-by: Tina Yang \u003ctina.yang@oracle.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "9e2effba2c16fc3bd47da605116485afe01e0be0",
      "tree": "a423d21a3abee4a5979ce13f7627d81e558c32ed",
      "parents": [
        "db40980fcdb560d7992b0511df16cdd3f7e381f3"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Fri Mar 12 16:22:32 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:07:31 2010 -0700"
      },
      "message": "RDS: Fix BUG_ONs to not fire when in a tasklet\n\nin_interrupt() is true in softirqs. The BUG_ONs are supposed\nto check for if irqs are disabled, so we should use\nBUG_ON(irqs_disabled()) instead, duh.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "db40980fcdb560d7992b0511df16cdd3f7e381f3",
      "tree": "337b5c41bd55915a4b894ea6fe09a865e7dcb0e4",
      "parents": [
        "d61702f1273b71c2809365a7806d7fe84fd77f15"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 06 11:13:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:45 2010 -0700"
      },
      "message": "net: poll() optimizations\n\nNo need to test twice sk-\u003esk_shutdown \u0026 RCV_SHUTDOWN\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6c9322c3a0cd50a6996094327347c87cd2f4bd8",
      "tree": "63685e0f5dd9eb6ac0c9f4c0017a21ef2e0f0c29",
      "parents": [
        "b31fa5bad576cd8180a5ad70c648333b44320d44"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Sep 05 22:08:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:43 2010 -0700"
      },
      "message": "net/caifcaif_dev.c: Use netdev_\u003clevel\u003e\n\nConvert pr_\u003clevel\u003e(\"%s\" ..., (struct netdev *)-\u003ename ...)\nto netdev_\u003clevel\u003e((struct netdev *), ...)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b31fa5bad576cd8180a5ad70c648333b44320d44",
      "tree": "b31239e8828e7e5b36ef85a0715ababc4f556e42",
      "parents": [
        "a0ece28539d49c9bdcc6da0bbb26771dceb57581"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Sep 05 21:31:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:43 2010 -0700"
      },
      "message": "net/caif: Use pr_fmt\n\nThis patch standardizes caif message logging prefixes.\n\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \":%s(): \" fmt, __func__\nAdd missing \"\\n\"s to some logging messages\nConvert pr_warning to pr_warn\n\nThis changes the logging message prefix from CAIF: to caif:\nfor all uses but caif_socket.c and chnl_net.c.  Those now use\ntheir filename without extension.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29af9309dba25077f711f5f975977714bc43a0c3",
      "tree": "5ff0faaa913d2ab8b431c272cab627b4f8778b59",
      "parents": [
        "e04c4dc87c4af296982ff44123e064d483e826c4"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Sep 05 09:00:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:48:42 2010 -0700"
      },
      "message": "net/9p/trans_fd.c: Fix unsigned return type\n\nThe function has an unsigned return type, but returns a negative constant\nto indicate an error condition.  The result of calling the function is\nalways stored in a variable of type (signed) int, and thus unsigned can be\ndropped from the return type.\n\nA sematic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@exists@\nidentifier f;\nconstant C;\n@@\n\n unsigned f(...)\n { \u003c+...\n*  return -C;\n ...+\u003e }\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fd63041c49c5c6ed1fe58b7bccc2de462d51e2b",
      "tree": "aac2e108e2c8c545669bd9fe655f04ac026f5e15",
      "parents": [
        "9d348af47656a65a697ff55a53daf294ea4d5662"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 02 23:09:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:24:59 2010 -0700"
      },
      "message": "net: pskb_expand_head() optimization\n\npskb_expand_head() blindly takes references on fragments before calling\nskb_release_data(), potentially releasing these references.\n\nWe can add a fast path, avoiding these atomic operations, if we own the\nlast reference on skb-\u003ehead.\n\nBased on a previous patch from David\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1fb62796cdac6899ebd4319e4a610684db063e9",
      "tree": "10cedaa8eb09b412bf229190d5c7089b8f2dd42b",
      "parents": [
        "9fbfca013176f9b90d186f3b446fd93e4d972b25"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Fri Sep 03 08:33:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:12:57 2010 -0700"
      },
      "message": "tipc: Fix misleading error code when enabling Ethernet bearers\n\nCause TIPC to return EAGAIN if it is unable to enable a new Ethernet\nbearer because one or more recently disabled Ethernet bearers are\ntemporarily consuming resources during shut down.  (The previous error\ncode, EDQUOT, is now returned only if all available Ethernet bearer\ndata structures are fully enabled at the time the request to enable an\nadditional bearer is received.)\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9fbfca013176f9b90d186f3b446fd93e4d972b25",
      "tree": "8af12e9242f8156bb8636b59896a63094bd65525",
      "parents": [
        "5d9c54c1e9ececcf7e99c4f014f9bec7ee3a7def"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Fri Sep 03 08:33:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:12:56 2010 -0700"
      },
      "message": "tipc: Ensure outgoing messages on Ethernet have sufficient headroom\n\nAdd code to expand the headroom of an outgoing TIPC message if the\nsk_buff has insufficient room to hold the header for the associated\nEthernet device.  This change is necessary to ensure that messages\nTIPC does not create itself (eg. incoming messages that are being\nrouted to another node) do not cause problems, since TIPC has no\ncontrol over the amount of headroom available in such messages.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d9c54c1e9ececcf7e99c4f014f9bec7ee3a7def",
      "tree": "b901d720e08c5762a0bd52b404393bb8532a6a15",
      "parents": [
        "dcfc5d787a24b9a20be3e18e3dbbab5280d35e38"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Fri Sep 03 08:33:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 06 18:12:56 2010 -0700"
      },
      "message": "tipc: Minor optimizations to name table translation code\n\nOptimizes TIPC\u0027s name table translation code to avoid unnecessary\nmanipulation of the node address field of the resulting port id when\nname translation fails.  This change is possible because a valid port\nid cannot have a reference field of zero, so examining the reference\nonly is sufficient to determine if the translation was successful.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52ee7a04a0f88815a71acdc604a854fb30dcbe45",
      "tree": "78a42b581cbb61f74bfb56cdd7f6d4b0afeb75e5",
      "parents": [
        "1a18abaa87c4c68a13c2ffcace39a078605b980a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Sep 03 06:27:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 03 09:44:51 2010 -0700"
      },
      "message": "net: remove two kmemcheck annotations\n\n__alloc_skb() uses a memset() to clear all the beginning of skb,\nincluding bitfields contained in \u0027flags1\u0027 \u0026 \u0027flags2\u0027.\n\nWe dont need any more to use kmemcheck_annotate_bitfield() on these\nfields. However, we still need it for the clone part, which is not\ncleared.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3bccac2fa76f1619dfe4fb7b9bee69de7f066d8",
      "tree": "f2271f01bae9c3d5c0557a550d62757b0061bf63",
      "parents": [
        "65e9b62d4503849b10bedfc29bff0473760cc597"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Fri Sep 03 03:04:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 03 09:43:14 2010 -0700"
      },
      "message": "ipv6: add special mode forwarding\u003d2 to send RS while configured as router\n\nSimilar to accepting router advertisement, the IPv6 stack does not send router\nsolicitations if forwarding is enabled.\n\nThis patch enables this behavior to be overruled by setting forwarding to the\nspecial value 2.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65e9b62d4503849b10bedfc29bff0473760cc597",
      "tree": "74fb61b4a345ed9ce022d21c4973c056c5516f08",
      "parents": [
        "bc8acf2c8c3e43fcc192762a9f964b3e9a17748b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Fri Sep 03 02:59:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 03 09:43:13 2010 -0700"
      },
      "message": "ipv6: add special mode accept_ra\u003d2 to accept RA while configured as router\n\nThe current IPv6 behavior is to not accept router advertisements while\nforwarding, i.e. configured as router.\n\nThis does make sense, a router is typically not supposed to be auto\nconfigured. However there are exceptions and we should allow the\ncurrent behavior to be overwritten.\n\nTherefore this patch enables the user to overrule the \"if forwarding\nenabled then don\u0027t listen to RAs\" rule by setting accept_ra to the\nspecial value of 2.\n\nAn alternative would be to ignore the forwarding switch alltogether\nand solely accept RAs based on the value of accept_ra. However, I\nfound that if not intended, accepting RAs as a router can lead to\nstrange unwanted behavior therefore we it seems wise to only do so\nif the user explicitely asks for this behavior.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7162f6691e9d39d8d866574687cddb3f1ec65d72",
      "tree": "c511679caf5c825ede4728870c513f92f4f1616b",
      "parents": [
        "250e061e1d3e26600236a3dd9172e7f5f5916c00",
        "78ab952717b62c0ba6ca7f7a27eaa0486685e45f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 12:45:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 12:45:44 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "78ab952717b62c0ba6ca7f7a27eaa0486685e45f",
      "tree": "a4ab2bfc578f279fc6847031f501d84c75057531",
      "parents": [
        "3e502e63586920f219ed2590f69c1f5a8888cfa4",
        "85f72bc839705294b32b6c16b491c0422f0a71b3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 02 13:30:07 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 02 13:30:07 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "deffd77759e3ceb936f0760cc54a213881577a83",
      "tree": "33bb636f23abde623b4ef2ceb5d4ba89167bcea9",
      "parents": [
        "c07b68e841bd737e2ebeb57268d251c89ccc5010"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Sep 02 03:56:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 10:12:06 2010 -0700"
      },
      "message": "net: arp: code cleanup\n\nClean the code up according to Documentation/CodingStyle.\n\nDon\u0027t initialize the variable dont_send in arp_process().\n\nRemove the temporary varialbe flags in arp_state_to_flags().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c07b68e841bd737e2ebeb57268d251c89ccc5010",
      "tree": "b27cb3fa27c36ea65897c15fd0f73fed9c9fcdb7",
      "parents": [
        "c68839963426d42bdb2c915b435f9860d060e645"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 02 03:53:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 10:12:06 2010 -0700"
      },
      "message": "net: dev_add_pack() \u0026 __dev_remove_pack() changes\n\nAdd a small helper ptype_head() to get the head to manipulate\n\ndev_add_pack() \u0026 __dev_remove_pack() can use a spinlock without\nblocking BH, since softirq use RCU, and these functions are run from\nprocess context only.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ed2163ff3b6abc5143d46dea73e523b22a6f987",
      "tree": "cbcb876724f7b793ea733f774db0d0c0c8ed2e06",
      "parents": [
        "95f4b45bc688b03107f5452ccda29496fc1b4ecf"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Wed Sep 01 22:19:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 10:04:18 2010 -0700"
      },
      "message": "ipvs: use pkts for SCTP too\n\nUse correctly the in_pkts packet counter also for SCTP\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95f4b45bc688b03107f5452ccda29496fc1b4ecf",
      "tree": "bb190b30e210dc74136afeba8946fa0a9368c3c3",
      "parents": [
        "3e502e63586920f219ed2590f69c1f5a8888cfa4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 02 09:19:32 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 09:19:32 2010 -0700"
      },
      "message": "net: another last_rx round\n\nKill last_rx use in l2tp and two net drivers\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0705c6f0e2d39333645bf77cf1efb94526ff1f82",
      "tree": "1241ff7591c9da655ee3c48095b3a33238a65f42",
      "parents": [
        "fa50d6457691d5c2d8a3430abf950435ef129cf1"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 01 00:28:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 18:15:00 2010 -0700"
      },
      "message": "tcp: update also tcp_output with regard to RFC 5681\n\nThanks to Ilpo Jarvinen, this updates also the initial window\nsetting for tcp_output with regard to RFC 5681.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa50d6457691d5c2d8a3430abf950435ef129cf1",
      "tree": "aeb475912c46e936b89e85e955215ec5b1e9e620",
      "parents": [
        "6267300e979e0fa912d871c7727c168bf3dbb37a"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Aug 31 12:14:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 18:12:20 2010 -0700"
      },
      "message": "net: make rx_queue sysfs_ops const\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85f72bc839705294b32b6c16b491c0422f0a71b3",
      "tree": "c2aec95a5b7315cc7e5bff44a28eb26d045d64e5",
      "parents": [
        "18145c69349f2ab60c470798f83b3a2639e2a8d9"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 01 16:12:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 01 16:12:28 2010 -0400"
      },
      "message": "mac80211: only cancel software-based scans on suspend\n\nOtherwise the hardware scan handler could access an invalid scan request\nstructure.  The driver should cancel any pending hardware scans during\nthe suspend process anyway, so also add a warning if the hardware scan\nis still pending when the device resumes.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6602cebb5bcac1fccf2850541f8bf9fcc8c86dee",
      "tree": "f3fb30ed089106bf9a5f209edc7b1f9be1338571",
      "parents": [
        "86cac58b71227cc34a3d0e78f19585c0eff49ea3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 01 05:25:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 10:57:55 2010 -0700"
      },
      "message": "net: skbuff.c cleanup\n\n(skb-\u003edata - skb-\u003ehead) can be changed by skb_headroom(skb)\n\nRemove some uses of NET_SKBUFF_DATA_USES_OFFSET, using\n(skb_end_pointer(skb) - skb-\u003ehead) or\n(skb_tail_pointer(skb) - skb-\u003ehead) : compiler does the right thing,\nand this is more readable for us ;)\n\n(struct skb_shared_info *) casts in pskb_expand_head() to help memcpy()\nto use aligned moves.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86cac58b71227cc34a3d0e78f19585c0eff49ea3",
      "tree": "e3329c4599474c12f17b0de5b2e8e4ff92233853",
      "parents": [
        "aed5029ead26fe47527d9e9f2052cf56b72543f0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 31 18:25:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 10:57:55 2010 -0700"
      },
      "message": "skge: add GRO support\n\n- napi_gro_flush() is exported from net/core/dev.c, to avoid\n  an irq_save/irq_restore in the packet receive path.\n- use napi_gro_receive() instead of netif_receive_skb()\n- use napi_gro_flush() before calling __napi_complete()\n- turn on NETIF_F_GRO by default\n- Tested on a Marvell 88E8001 Gigabit NIC\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "875168a9330d3aa6481ce62ce8fa77c7be0c75fb",
      "tree": "137a2d264cf960c8f6cc1a8961704cc1062014e7",
      "parents": [
        "064270132602c6e11482439e0e257f208cae79c0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 30 11:07:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 10:57:53 2010 -0700"
      },
      "message": "net: tunnels should use rcu_dereference\n\ntunnel4_handlers, tunnel64_handlers, tunnel6_handlers and\ntunnel46_handlers are protected by RCU, but we dont use appropriate rcu\nprimitives to scan them. rcu_lock() is already held by caller.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1639ab6f7831f056286c64d98e8e5eb04e3bacac",
      "tree": "53a8b14e1fc6117bdffff63bafdab2524dce50c9",
      "parents": [
        "4dc89133f49b8cfd77ba7e83f5960aed63aaa99e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 31 10:23:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:37:07 2010 -0700"
      },
      "message": "gro: unexport tcp4_gro_receive and tcp4_gro_complete\n\ntcp4_gro_receive() and tcp4_gro_complete() dont need to be exported.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba4fd9d8282f7f856f2287fe8be784d1dfdda28b",
      "tree": "0360a5e63dbdf68ccb3d65383a1a20790ed5f462",
      "parents": [
        "72ed62f7c9f0abe11231d073195a722ee43d6ec1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 31 01:57:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:37:06 2010 -0700"
      },
      "message": "pktgen: remove non used variable\n\nremove non used variable \"queue\" in pg_cleanup\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72ed62f7c9f0abe11231d073195a722ee43d6ec1",
      "tree": "7be4b4f359060c067cd6e3d419a6d2d51acd847f",
      "parents": [
        "01b38606bded44bf8b7ca42e8fe5f2cad5d28121"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 31 04:58:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:37:05 2010 -0700"
      },
      "message": "vlan: Use vlan_dev_real_dev in vlan_hwaccel_do_receive\n\n[patch net-next-2.6] vlan: Use vlan_dev_real_dev in vlan_hwaccel_do_receive\n\nUse helper as in other places.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01b38606bded44bf8b7ca42e8fe5f2cad5d28121",
      "tree": "556fd914f9e13df3627ae19df1ccc87a7691cafe",
      "parents": [
        "02ac3268a581639af241c254579160909373e12c"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Aug 30 12:57:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:04:33 2010 -0700"
      },
      "message": "Phonet: do not set POLLOUT in case of send buffer overflow\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02ac3268a581639af241c254579160909373e12c",
      "tree": "be8e77ef43845fa6b0e7e6372cb1939385bb6ba2",
      "parents": [
        "1a98214feef2221cd7c24b17cd688a5a9d85b2ea"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Aug 30 12:57:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:04:32 2010 -0700"
      },
      "message": "Phonet: correct sendmsg() error code from sock_alloc_send_skb()\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a98214feef2221cd7c24b17cd688a5a9d85b2ea",
      "tree": "c642a58c833554d57f4f38ae0d346ddb5c2f051d",
      "parents": [
        "1f0f63885658889b3bcb8a08fbcb9532f8e536c9"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Aug 30 12:57:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:04:32 2010 -0700"
      },
      "message": "Phonet: restore flow control credits when sending fails\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18145c69349f2ab60c470798f83b3a2639e2a8d9",
      "tree": "459b583796289d587b21eb3390f5a09eb09a52de",
      "parents": [
        "cd35a3912188d006f251fff1028d84e1d1649ca2"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 30 15:12:02 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 31 15:20:45 2010 -0400"
      },
      "message": "mac80211: cancel scan in ieee80211_restart_hw if software scan pending\n\nThis function exists to clean-up after a hardware error or something\nsimilar.  The restart is accomplished using the same infrastructure used\nto resume after a suspend.  The suspend path cancels running scans, so\nit seems appropriate to do that here as well for software-based scans.\nIf a hardware-based scan is pending, issue a warning message since this\nindicates that the drivers has failed to clean-up after itself.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3653910714a4a9b19aadb202c24f7b1ae61d3556",
      "tree": "9f26e90bfa6d1d905dbdab89b80c432f4e2e6a76",
      "parents": [
        "9df86e2e702c6d5547aced7f241addd2d698bb11"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Aug 28 17:41:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 31 14:20:40 2010 -0400"
      },
      "message": "net/wireless: Remove double test\n\nThe same expression is tested twice and the result is the same each time.\n\nThe sematic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@expression@\nexpression E;\n@@\n\n(\n* E\n  || ... || E\n|\n* E\n  \u0026\u0026 ... \u0026\u0026 E\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "391a200a89bf85bd38f117f34898c24299e3d53d",
      "tree": "9f85575e7d48ed7fb6907816f1c148002796c8d1",
      "parents": [
        "3ba06c6fbd651ed3377e584026d1c112b492cc8b"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Fri Aug 27 22:22:00 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 31 14:20:40 2010 -0400"
      },
      "message": "mac80211: Do not generate CQM events based on first Beacon frames\n\nThe signal strength value in a single RX frame is not that reliable,\nso it is better to delay start of CQM events until there is a real\naverage signal strength from more than a single Beacon frame\navailable.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ba06c6fbd651ed3377e584026d1c112b492cc8b",
      "tree": "0b8159ae02a76be2c425fd00cd95b9f48ebc2133",
      "parents": [
        "486699532e43460234cbebc19cbebd2755b67da3"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Fri Aug 27 22:21:13 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 31 14:20:40 2010 -0400"
      },
      "message": "mac80211: Fix signal strength average initialization for CQM events\n\nThe ave_beacon_signal value uses 1/16 dB unit and as such, must be\ninitialized with the signal level of the first Beacon frame multiplied\nby 16. This fixes an issue where the initial CQM events are reported\nincorrectly with a burst of events while the running average\napproaches the correct value after the incorrect initialization. This\ncould cause user space -based roaming decision process to get quite\nconfused at the moment when we would like to go through authentication\nand DHCP.\n\nCc: stable@kernel.org\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ff2cfa55fb35bb5ea4490fbc82bb3c6771c121b",
      "tree": "4f67088e323cd49b6748e15fba8951eabb80c308",
      "parents": [
        "6dcd814bd08bc7989f7f3eac9bbe8b20aec0182a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 30 10:27:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:50:46 2010 -0700"
      },
      "message": "ipv6: struct xfrm6_tunnel in read_mostly section\n\ntunnel6_handlers chain being scanned for each incoming packet,\nmake sure it doesnt share an often dirtied cache line.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6dcd814bd08bc7989f7f3eac9bbe8b20aec0182a",
      "tree": "e8fcde2ef93efa62437aff893477098a1bf8b6a0",
      "parents": [
        "c274f29120eff7852bb2370ae6f05f46de75edbc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 30 07:04:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:50:45 2010 -0700"
      },
      "message": "net: struct xfrm_tunnel in read_mostly section\n\ntunnel4_handlers chain being scanned for each incoming packet,\nmake sure it doesnt share an often dirtied cache line.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89858ad14307a398961a0f1414b04053c1475e4f",
      "tree": "860eca4c0fb4c9c470d407407ba051ae814c9dfa",
      "parents": [
        "4886fcad6e12572afbd230dfab1b268eace20d6d"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 29 19:23:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:45:28 2010 -0700"
      },
      "message": "dccp ccid-3: use per-route RTO or TCP RTO as fallback\n\nThis makes RTAX_RTO_MIN also available to CCID-3, replacing the compile-time\nRTO lower bound with a per-route tunable value.\n\nThe original Kconfig option solved the problem that a very low RTT (in the\norder of HZ) can trigger too frequent and unnecessary reductions of the\nsending rate.\n\nThis tunable does not affect the initial RTO value of 2 seconds specified in\nRFC 5348, section 4.2 and Appendix B. But like the hardcoded Kconfig value,\nit allows to adapt to network conditions.\n\nThe same effect as the original Kconfig option of 100ms is now achieved by\n\n\u003e ip route replace to unicast 192.168.0.0/24 rto_min 100j dev eth0\n\n(assuming HZ\u003d1000).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4886fcad6e12572afbd230dfab1b268eace20d6d",
      "tree": "c0ac7dc930a8de315083ec3882ff78a325747e70",
      "parents": [
        "22b71c8f4f3db8df92f5e7b081c265bc56c0bd2f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 29 19:23:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:45:27 2010 -0700"
      },
      "message": "dccp ccid-2: Share TCP\u0027s minimum RTO code\n\nUsing a fixed RTO_MIN of 0.2 seconds was found to cause problems for CCID-2\nover 802.11g: at least once per session there was a spurious timeout. It\nhelped to then increase the the value of RTO_MIN over this link.\n\nSince the problem is the same as in TCP, this patch makes the solution from\ncommit \"05bb1fad1cde025a864a90cfeb98dcbefe78a44a\"\n       \"[TCP]: Allow minimum RTO to be configurable via routing metrics.\"\navailable to DCCP.\n\nThis avoids reinventing the wheel, so that e.g. the following works in the\nexpected way now also for CCID-2:\n\n\u003e ip route change 10.0.0.2 rto_min 800 dev ath0\n\nLuckily this useful rto_min function was recently moved to net/tcp.h,\nwhich simplifies sharing code originating from TCP.\n\nDocumentation also updated (plus minor whitespace fixes).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22b71c8f4f3db8df92f5e7b081c265bc56c0bd2f",
      "tree": "b913f63369b09ad703ed52a42b367455785ef3af",
      "parents": [
        "d26eeb07fd02de31848b59d19687daff0e93532f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 29 19:23:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:45:26 2010 -0700"
      },
      "message": "tcp/dccp: Consolidate common code for RFC 3390 conversion\n\nThis patch consolidates initial-window code common to TCP and CCID-2:\n * TCP uses RFC 3390 in a packet-oriented manner (tcp_input.c) and\n * CCID-2 uses RFC 3390 in packet-oriented manner (RFC 4341).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d26eeb07fd02de31848b59d19687daff0e93532f",
      "tree": "8017b04b5e2aacb9d73334b4610d623c28a957d5",
      "parents": [
        "d82b6f85c1d73340ef4a26bd0b247ac14610cd83"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 29 19:23:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:45:26 2010 -0700"
      },
      "message": "dccp ccid-2: Remove wrappers around sk_{reset,stop}_timer()\n\nThis removes the wrappers around the sk timer functions, since not much is\ngained from using them: the BUG_ON in start_rto_timer will never trigger\nsince that function is called only if:\n\n * the RTO timer expires (rto_expire, and then timer_pending() is false);\n * in tx_packet_sent only if !timer_pending() (BUG_ON is redundant here);\n * previously in new_ack, after stopping the timer (timer_pending() false).\n\nRemoving the wrappers also clears the way for eventually replacing the\nRTO timer with the icsk-retransmission-timer, as it is already part of the\nDCCP socket.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d82b6f85c1d73340ef4a26bd0b247ac14610cd83",
      "tree": "633b7aa259c75a1620783cd65130436b5179a9fa",
      "parents": [
        "dca43c75e7e545694a9dd6288553f55c53e2a3a3"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 29 19:23:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:45:25 2010 -0700"
      },
      "message": "dccp ccid-2: Use u32 timestamps uniformly\n\nSince CCID-2 is de facto a mini implementation of TCP, it makes sense to share\nas much code as possible.\n\nHence this patch aligns CCID-2 timestamping with TCP timestamping.\nThis also halves the space consumption (on 64-bit systems).\n\nThe necessary include file \u003cnet/tcp.h\u003e is already included by way of\nnet/dccp.h. Redundant includes have been removed.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dca43c75e7e545694a9dd6288553f55c53e2a3a3",
      "tree": "4df6b0b295ecd571fa95004b486d9af1636d6a30",
      "parents": [
        "409456b10f87b28303643fec37543103f9ada00c"
      ],
      "author": {
        "name": "Jerry Chu",
        "email": "hkchu@google.com",
        "time": "Fri Aug 27 19:13:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:23:33 2010 -0700"
      },
      "message": "tcp: Add TCP_USER_TIMEOUT socket option.\n\nThis patch provides a \"user timeout\" support as described in RFC793. The\nsocket option is also needed for the the local half of RFC5482 \"TCP User\nTimeout Option\".\n\nTCP_USER_TIMEOUT is a TCP level socket option that takes an unsigned int,\nwhen \u003e 0, to specify the maximum amount of time in ms that transmitted\ndata may remain unacknowledged before TCP will forcefully close the\ncorresponding connection and return ETIMEDOUT to the application. If\n0 is given, TCP will continue to use the system default.\n\nIncreasing the user timeouts allows a TCP connection to survive extended\nperiods without end-to-end connectivity. Decreasing the user timeouts\nallows applications to \"fail fast\" if so desired. Otherwise it may take\nupto 20 minutes with the current system defaults in a normal WAN\nenvironment.\n\nThe socket option can be made during any state of a TCP connection, but\nis only effective during the synchronized states of a connection\n(ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, or LAST-ACK).\nMoreover, when used with the TCP keepalive (SO_KEEPALIVE) option,\nTCP_USER_TIMEOUT will overtake keepalive to determine when to close a\nconnection due to keepalive failure.\n\nThe option does not change in anyway when TCP retransmits a packet, nor\nwhen a keepalive probe will be sent.\n\nThis option, like many others, will be inherited by an acceptor from its\nlistener.\n\nSigned-off-by: H.K. Jerry Chu \u003chkchu@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c70b5196262f29b10eb1886293e0c2d75dc3dd9",
      "tree": "2e90585fea9403ae913dcdcb1bd7a1e9678ee4f2",
      "parents": [
        "2bc9e234658072145b63d1d364bac4c8e337c865"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Aug 29 17:04:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 29 21:15:26 2010 -0700"
      },
      "message": "IPVS: include net/ip6_checksum.h for csum_ipv6_magic\n\nFixes this build error:\n\nnet/netfilter/ipvs/ip_vs_core.c: In function \u0027ip_vs_nat_icmp_v6\u0027:\nnet/netfilter/ipvs/ip_vs_core.c:640: error: implicit declaration of function \u0027csum_ipv6_magic\u0027\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a499b242f7d1ebf13f5bc386e08e80603f79e2a",
      "tree": "50383400eed30c6d5b6349f18d61af404de206aa",
      "parents": [
        "e27cd4f8ca9dde7938f4f83ef75b6fae8d46dd5f"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Aug 27 19:08:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 28 15:37:04 2010 -0700"
      },
      "message": "phonet: use for_each_set_bit\n\nReplace open-coded loop with for_each_set_bit().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "762c29164e2850d8c5e4c258cef0077b2584d111",
      "tree": "4cb5c25ce87578386f751dbcd3e46b6eba3cb716",
      "parents": [
        "034de00b06fe2b2c451f7435414f15c1b625e6b0"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Aug 27 16:41:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 28 15:37:03 2010 -0700"
      },
      "message": "econet: kill unnecessary spin_lock_init()\n\nThe spinlock aun_queue_lock is initialized statically. It is unnecessary\nto initialize by spin_lock_init() at module load time.\n\nThis is detected by the semantic patch.\n\n// \u003csmpl\u003e\n@def@\ndeclarer name DEFINE_SPINLOCK;\nidentifier spinlock;\n@@\n\nDEFINE_SPINLOCK(spinlock);\n\n@@\nidentifier def.spinlock;\n@@\n\n- spin_lock_init(\u0026spinlock);\n// \u003c/smpl\u003e\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b714c6a3753dad0798a70a049e15c7f6bc9446b",
      "tree": "39345981014b14e881cbfbef87a4a3a74469fada",
      "parents": [
        "c35d02705e9c2db90a89b29142046b4ffd5a76e5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 13:45:28 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: fix offchannel queue stop\n\nSomebody noticed this problem, and I outlined\nto them how to fix it, but haven\u0027t heard back\nfrom them. So while I was adding the state\nfield I figured I could use it to fix it.\n\nThe problem, as I understand it, is that when\nwe go offchannel while the driver has a queue\nstopped, the driver will likely start draining\nthe queue and then enable it while offchannel.\nThis in turn will enable the interface queue,\nand that leads to transmitting data frames on\nthe wrong channel.\n\nFix this by keeping track of offchannel status\nper interface, and not enabling the interface\nqueues on interfaces that are offchannel when\nthe driver enables a queue.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34d4bc4d41d282a66dafe1b01a7d46bad468cefb",
      "tree": "ac0936b00f1ebd037be32fd0e5f304f26366e6c0",
      "parents": [
        "87490f6db38999fee7f6d3dbecc5b94730c7e010"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:58 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: support runtime interface type changes\n\nAdd support to mac80211 for changing the interface\ntype even when the interface is UP, if the driver\nsupports it.\n\nTo achieve this\n * add a new driver callback for switching,\n * split some of the interface up/down code out\n   into new functions (do_open/do_stop), and\n * maintain an own __SDATA_RUNNING bit that will\n   not be set during interface type, so that any\n   other code doesn\u0027t use the interface.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "87490f6db38999fee7f6d3dbecc5b94730c7e010",
      "tree": "d32a07b51aaa9349f779af63901eec8fa267ac8c",
      "parents": [
        "bf533e0bfd77d9671adabdf134b1ac7f24bb0670"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:57 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: split out concurrent vif checks\n\nSplit the concurrent virtual interface checks\ninto a new function that can be used to check\nfor any given new interface type.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bf533e0bfd77d9671adabdf134b1ac7f24bb0670",
      "tree": "80246d2a03e3aa1b6ebea0760cb4beab67e58f3d",
      "parents": [
        "26a58456be40d8181b884eb5b4e61e3f73ba94e0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:56 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: simplify zero address checks\n\nThe libertas_tf special code for zero addresses\nis a bit too complex, it compares against a stack\nvalue instead of using is_zero_ether_addr() and\ntries to update all interfaces even if just the\none that\u0027s being brought up needs to be changed.\nAdditionally, the repeated check for a valid MAC\naddress need only be done if we actually changed\nit on the fly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "26a58456be40d8181b884eb5b4e61e3f73ba94e0",
      "tree": "d3284dcba4f286d1f666b1efca136c018791e692",
      "parents": [
        "b9dcf712d1fb98bf279fcd453a42a763b104961d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: switch to ieee80211_sdata_running\n\nSince the introduction of ieee80211_sdata_running(),\nsome new code was introduced that uses netif_running()\ninstead. Switch all these instances over.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b9dcf712d1fb98bf279fcd453a42a763b104961d",
      "tree": "a09aa20ca2c26dbf9439beca7c8c9a403e70c8b5",
      "parents": [
        "2337db8db845ece2d4ab7673a343e285f1bfda85"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:54 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: clean up ifdown/cleanup paths\n\nThere\u0027s a lot of redundant code in mac80211\u0027s\ninterface cleanup/down, for example freeing\nAP beacons is done both when the interface is\nset DOWN as well as when it is torn down, of\nwhich only the former has any effect.\n\nAlso, a bunch of things should be closer to\nwhere they matter, like the MLME timers that\nwe should cancel when disassociating, rather\nthan only when the interface is set DOWN.\n\nClean up all this code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2337db8db845ece2d4ab7673a343e285f1bfda85",
      "tree": "ec1a3c806b8638c08caf8acef1b9d411e1e612fd",
      "parents": [
        "a621fa4d6a7fdf9d34938d2e129a72624833eeeb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 13:36:49 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:08 2010 -0400"
      },
      "message": "mac80211: use subqueue helpers\n\nThere are subqueue helpers so that we don\u0027t\nneed to get the TX queue and then wake/stop\nit, use those helpers.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a621fa4d6a7fdf9d34938d2e129a72624833eeeb",
      "tree": "1b15e9fabbec3b2bdf04f5cd60526c0154a0dcc1",
      "parents": [
        "c0692b8fe29fb4d4dad33487aabf3ed7e1e880c0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:54 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: allow changing port control protocol\n\nSome vendor specified mechanisms for 802.1X-style\nfunctionality use a different protocol than EAP\n(even if EAP is vendor-extensible). Support this\nin mac80211 via the cfg80211 API for it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c0692b8fe29fb4d4dad33487aabf3ed7e1e880c0",
      "tree": "39c0c74c2270a285e1a0cfc7958ced7368cf28a6",
      "parents": [
        "3ffc2a905b1faae4c0fe39d66f0752c3a4cbb3c7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:53 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "cfg80211: allow changing port control protocol\n\nSome vendor specified mechanisms for 802.1X-style\nfunctionality use a different protocol than EAP\n(even if EAP is vendor-extensible). Allow setting\nthe ethertype for the protocol when a driver has\nsupport for this. The default if unspecified is\nEAP, of course.\n\nNote: This is suitable only for station mode, not\n      for AP implementation.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ffc2a905b1faae4c0fe39d66f0752c3a4cbb3c7",
      "tree": "d50902e1e171877e4fb034e36c837f16984ab9b4",
      "parents": [
        "7d64b7cc1fc33bab24567903a93f699d11649c0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:52 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: allow vendor specific cipher suites\n\nAllow drivers to specify their own set of cipher\nsuites to advertise vendor-specific ciphers. The\ndriver is then required to implement hardware\ncrypto offload for it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7d64b7cc1fc33bab24567903a93f699d11649c0b",
      "tree": "b87c97377a413b1c8d562d135903ce128e7b4a65",
      "parents": [
        "b49d09c5bf9a3261ae711ac3bb91e22c172db428"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:51 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "cfg80211: allow vendor specific cipher suites\n\ncfg80211 currently rejects all cipher suites it\ndoesn\u0027t know about for key length checking\npurposes. This can lead to inconsistencies when\na driver advertises an algorithm that cfg80211\ndoesn\u0027t know about. Remove this rejection so\ndrivers can specify any algorithm they like.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8789d459bc5e837bf37d261453df96ef54018d7b",
      "tree": "5dbcabe5807de84f9119ab3654b998fd65ac0a40",
      "parents": [
        "5f33c92d188add2a22ec524c03e0ab097e303d52"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 26 13:30:26 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:06 2010 -0400"
      },
      "message": "mac80211: allow scan to complete from any context\n\nThe ieee80211_scan_completed() function was a frequent\nsource of potential deadlocks, since it is called by\ndrivers but may call back into drivers, so drivers had\nto make sure to call it without any locks held, which\nfrequently lead to more complex code in drivers. Avoid\nthat problem by allowing the function to be called in\nany context, and queueing the actual work it does.\nAlso update the documentation for it to indicate this.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f33c92d188add2a22ec524c03e0ab097e303d52",
      "tree": "96316173ec8205d22b4e5a0af0cc0164b641ea00",
      "parents": [
        "93dbbcc45c364d62d58737fb9fe6d31085d6a999"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 26 13:30:25 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:06 2010 -0400"
      },
      "message": "mac80211: remove unused scan expire define\n\nSince cfg80211 manages the BSS list completely,\nthis define hasn\u0027t been used for a long time\nand will never be used again.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "40d0802b3eb47d57e2d57a5244a18cbbe9632e13",
      "tree": "fd45987286080e1f711c2448f6fbdc7d362a0241",
      "parents": [
        "250ad8f55c06eb866cfb57f8d3ea6ff961a7d1d7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 26 22:03:08 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 22:03:08 2010 -0700"
      },
      "message": "gro: __napi_gro_receive() optimizations\n\ncompare_ether_header() can have a special implementation on 64 bit\narches if CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is defined.\n\n__napi_gro_receive() and vlan_gro_common() can avoid a conditional\nbranch to perform device match.\n\nOn x86_64, __napi_gro_receive() has now 38 instructions instead of 53\n\nAs gcc-4.4.3 still choose to not inline it, add inline keyword to this\nperformance critical function.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53f91dc1f76922375ad7957ef29f48986722532d",
      "tree": "71583203eb39de7ccf1733930833e9d229c38333",
      "parents": [
        "145ce502e44b57c074c72cfdc855557e19026999"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 24 13:32:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 14:11:49 2010 -0700"
      },
      "message": "net: use scnprintf() to avoid potential buffer overflow\n\nstrlcpy() returns the total length of the string they tried to create, so\nwe should not use its return value without any check. scnprintf() returns\nthe number of characters written into @buf not including the trailing \u0027\\0\u0027,\nso use it instead here.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145ce502e44b57c074c72cfdc855557e19026999",
      "tree": "fd663feae03f5c5f4a31ceecd6a61e790344b8b3",
      "parents": [
        "dee06e4702b5a64b9ca81e650d66223c5b3e7f14"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 24 13:21:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 14:11:48 2010 -0700"
      },
      "message": "net/sctp: Use pr_fmt and pr_\u003clevel\u003e\n\nChange SCTP_DEBUG_PRINTK and SCTP_DEBUG_PRINTK_IPADDR to\nuse do { print } while (0) guards.\nAdd SCTP_DEBUG_PRINTK_CONT to fix errors in log when\nlines were continued.\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\nAdd a missing newline in \"Failed bind hash alloc\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dee06e4702b5a64b9ca81e650d66223c5b3e7f14",
      "tree": "7748101b41c6a0200f12eac632691c0bd35cb61b",
      "parents": [
        "4f72816ef07fdf49338ee0e6764a3961d552994a"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Aug 26 02:54:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 13:21:29 2010 -0700"
      },
      "message": "ipvs: switch to GFP_KERNEL allocations\n\nSwitch from GFP_ATOMIC allocations to GFP_KERNEL ones in\nip_vs_add_service() and ip_vs_new_dest(), as we hold a mutex and are\nallowed to sleep in this context.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f72816ef07fdf49338ee0e6764a3961d552994a",
      "tree": "172f3ce232a280c4d28eb2576676d060c9ef6c4c",
      "parents": [
        "bd144550489270a32a531e84a2b4bb6882096236"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Aug 26 02:54:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 13:21:29 2010 -0700"
      },
      "message": "IPVS: convert __ip_vs_securetcp_lock to a spinlock\n\nAlso rename __ip_vs_securetcp_lock to ip_vs_securetcp_lock.\n\nSpinlock conversion was suggested by Eric Dumazet.\n\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd144550489270a32a531e84a2b4bb6882096236",
      "tree": "160721affa0d9c015199de76ec1c9018cdf5ce0f",
      "parents": [
        "8870f8427b8fe30b2684b9e569e5ce038faf41ac"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Aug 26 02:54:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 13:21:28 2010 -0700"
      },
      "message": "IPVS: convert __ip_vs_sched_lock to a spinlock\n\nAlso rename __ip_vs_sched_lock to ip_vs_sched_lock.\n\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8870f8427b8fe30b2684b9e569e5ce038faf41ac",
      "tree": "4d20a39d2fceee146b3be6462c50597362db59b7",
      "parents": [
        "8a891429d1879ae4f37f547ef5c2d68e19277e4a"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Aug 26 13:21:26 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 13:21:26 2010 -0700"
      },
      "message": "IPVS: ICMPv6 checksum calculation\n\nCc: Xiaoyu Du \u003ctingsrain@gmail.com\u003e\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa7c6e5fa08bb5014b6432a690d28748f11e93fc",
      "tree": "71849c8ddde749739a878dd5e10446e9a3ee06ae",
      "parents": [
        "c5dadddb8c9d310bc263f671f19fe3ba90b329fe"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Aug 24 13:12:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 25 16:36:51 2010 -0700"
      },
      "message": "bridge: avoid ethtool on non running interface\n\nIf bridge port is offline, don\u0027t call ethtool to query speed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "944c794d6437e5301c8769cb242c2b919a5acf59",
      "tree": "ac398dfc466650b19b08f33dd34de20463041bd5",
      "parents": [
        "b2aff96327545aa5ceb25e3116be69c8b06de703"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Aug 24 13:08:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 25 16:36:50 2010 -0700"
      },
      "message": "bridge: fix locking comment\n\nThe carrier check is not called from work queue in current code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2aff96327545aa5ceb25e3116be69c8b06de703",
      "tree": "144aa0ed207b68e163d1d8f4f13971d1fb01edcd",
      "parents": [
        "8d34e7d6f38fce1c7e595404295494cd1eaba3eb"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Aug 24 04:39:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 25 16:36:50 2010 -0700"
      },
      "message": "net/netfilter/ipvs: Eliminate memory leak\n\n__ip_vs_service_get and __ip_vs_svc_fwm_get increment a reference count, so\nthat reference count should be decremented before leaving the function in an\nerror case.\n\nA simplified version of the semantic match that finds this problem is:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nexpression E;\nidentifier f1;\niterator I;\n@@\n\nx \u003d __ip_vs_service_get(...);\n\u003c... when !\u003d x\n     when !\u003d true (x \u003d\u003d NULL || ...)\n     when !\u003d if (...) { \u003c+...x...+\u003e }\n     when !\u003d I (...) { \u003c+...x...+\u003e }\n(\n x \u003d\u003d NULL\n|\n x \u003d\u003d E\n|\n x-\u003ef1\n)\n...\u003e\n* return ...;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e569aa78ba01f7f66e016a4d57310fd041524d17",
      "tree": "eaedc03d42ee2bf6200fc07b080a99bad103def3",
      "parents": [
        "4562487a00445eab96311365ba15c41dc4d043cd",
        "268bae0b6879f238ba57f5f801958d1254e136f7"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:51:42 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:51:42 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/libertas/if_sdio.c\n"
    },
    {
      "commit": "5eb5a52da6ef04604cf8faca43ec670f69f417d3",
      "tree": "4d3397d83cb533ba4fa8dd47b884305c877b01d7",
      "parents": [
        "45f7e3116fad77e6dd15cb0e2eaccb7de7b806c9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 25 14:34:01 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:34:56 2010 -0400"
      },
      "message": "mac80211: fix mesh advertisement\n\nWhen a mac80211-based driver advertises mesh mode\nsupport, this will be advertised to userspace.\nHowever, if mac80211 was compiled without mesh\nsupport, then that won\u0027t actually be true. Fix\nthis by removing the bit for mesh if mesh isn\u0027t\ncompiled in.\n\nSince this synchronizes what we advertise to\ncfg80211 and actually support, it means we can\nnow rely on cfg80211\u0027s interface type checks\nand need not check again in mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2c15a0cf27a74213a714cc7be31685b841f7c1ac",
      "tree": "7d2e0bcf9b3c04922ddce91e4641eeed4387c11f",
      "parents": [
        "74b70a4e38d542843fccfb367dce1ac861cc3890"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Tue Aug 24 19:22:42 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:34:56 2010 -0400"
      },
      "message": "mac80211: fix rcu-unsafe pointer dereference\n\nThis patch fixes a potential crash (null-pointer de-\nreference) which was introduced in my previous patch:\n \"mac80211: AMPDU rx reorder timeout timer\"\n\nDuring a BA teardown, the pointer to the soon-to-be-gone\ntid_ampdu_rx element will be nullified. Therefore the\nrelease timer mechanism has to be careful not to\naccidentally access the item without any RCU protection.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "74b70a4e38d542843fccfb367dce1ac861cc3890",
      "tree": "8bfd236b1daede68637c6238c7c9cb813dfa82f2",
      "parents": [
        "f8d8b7a13d3d61f99bf3dc5c9650f87f9818d7a7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Aug 24 12:15:53 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:34:56 2010 -0400"
      },
      "message": "nl80211: fix missing nesting\n\ncommit 95a6ccbb46c70cff376684c752831c014c87029d\nAuthor: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nDate:   Thu Aug 12 15:38:38 2010 +0200\n\n    cfg80211/mac80211: extensible frame processing\n\nintroduced a netlink bug that caused parsing errors\nin userspace because it forgot to close a nesting,\nwhich would advertise a nesting length of zero to\nuserspace, which then completely threw off parsing\nand led to\n\n\tIllegal nla-\u003enla_type \u003d\u003d 0\n\nbeing printed by libnl.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "258086a48b766d12a500f98834654ffa927ca475",
      "tree": "95090b63fbd9643693a8fe2e85b218356815bd4b",
      "parents": [
        "11791a6f7534906b4a01ffb54ba0b02ca39398ef"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Sun Aug 22 23:48:25 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:20 2010 -0400"
      },
      "message": "mac80211: cancel restart_work in ieee80211_unregister_hw\n\nUnlike most other workqueue-tasks, the restart_work is\nnot scheduled onto mac80211\u0027s private per-interface\nworkqueue, but onto one of the system-wide workqueues.\n\nTherefore the mac80211-stack has to cancel any pending\nrestarts, before destroying the shared device context\nand handing back the memory. Otherwise - under very\nunlucky circumstances - there could be a stale work-\nitem left, because some other kernel component might\nhave delayed the execution of ieee80211_restart_work\nfor too long.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ff67bb86d448c26cb9110e9681669dc4a8aa5e0a",
      "tree": "b8fed75d276b69d3265713469aebcfb60b51400e",
      "parents": [
        "3a59babbee409fa5f1b2dd8a14c40803b5eb288b"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Sat Aug 21 07:23:29 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:17 2010 -0400"
      },
      "message": "mac80211: fix warning for un-used parameter\n\nmesh_hdr only used when CONFIG_MAC80211_MESH is defined\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0fb9a9ec27718fbf7fa3153bc94becefb716ceeb",
      "tree": "8f5d6a5fa9f2c6b8b08273dc198d6187d0a70361",
      "parents": [
        "b62177a0aa0521fd07cd7501534c0c3b256ebce6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Aug 20 16:25:38 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:17 2010 -0400"
      },
      "message": "net/mac80211: Use wiphy_\u003clevel\u003e\n\nStandardize logging messages from\n\tprintk(KERN_\u003clevel\u003e \"%s: \" fmt , wiphy_name(foo), args);\nto\n\twiphy_\u003clevel\u003e(foo, fmt, args);\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c2e3143e3c46ede22336316b3ff4746727c0d93a",
      "tree": "28fa33bc3ef923614066377e5a954b88cb87148a",
      "parents": [
        "5a46790ca4c40fdb6ed5336d7d6b593c96326b31"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Aug 24 14:48:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:48:10 2010 -0700"
      },
      "message": "tc: add meta match on receive hash\n\nTrivial extension to existing meta data match rules to allow\nmatching on skb receive hash value.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec550d246e38e1b4ea8604b5c71ccb72e38f3290",
      "tree": "0874238f764a2fa45a84d1b24b98f4989db67b47",
      "parents": [
        "c32d83c0420950754cca01557bc5802793948d66"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 24 14:45:09 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:45:09 2010 -0700"
      },
      "message": "net: ip_append_data() optim\n\nCompiler is not smart enough to avoid a conditional branch.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e161f78e5f63a7f9fd25a766bb7f816a01eb14a",
      "tree": "befd44feeb1f47da1f41e6fc310a223ad67030ff",
      "parents": [
        "ac4c977d16d843f12901595c91773dddb65768a9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 15:38:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:56 2010 -0400"
      },
      "message": "cfg80211/mac80211: extensible frame processing\n\nAllow userspace to register for more than just\naction frames by giving the frame subtype, and\nmake it possible to use this in various modes\nas well.\n\nWith some tweaks and some added functionality\nthis will, in the future, also be usable in AP\nmode and be able to replace the cooked monitor\ninterface currently used in that case.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ac4c977d16d843f12901595c91773dddb65768a9",
      "tree": "81fdd35a49a82b810a5e42c22e49e9952930aec1",
      "parents": [
        "633adf1ad1c92c02bd3f10bbd73737a969179378"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 15:37:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:55 2010 -0400"
      },
      "message": "mac80211: remove unused don\u0027t-encrypt flag\n\nWhen MFP is disabled, action frames will not\nbe encrypted since they are management frames\nand the only management frames that can then\nbe encrypted are authentication frames.\n\nTherefore, setting the don\u0027t-encrypt flag on\naction frames is unnecessary.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "633adf1ad1c92c02bd3f10bbd73737a969179378",
      "tree": "3f23d54719a1742d9326d61b6820147185cdb60c",
      "parents": [
        "b68b3c4d92ff2440414137763477648e6db6c96f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 14:49:58 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:54 2010 -0400"
      },
      "message": "cfg80211: mark ieee80211_hdrlen const\n\nThis function analyses only its single, value-passed\nargument, and has no side effects. Thus it can be\nconst, which makes mac80211 smaller, for example:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 362518\t  16720\t    884\t 380122\t  5ccda\tmac80211.ko (before)\n 362358\t  16720\t    884\t 379962\t  5cc3a\tmac80211.ko (after)\n\na 160 byte saving in text size, and an optimisation\nbecause the function won\u0027t be called as often.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0fdc100bdc4b7ab61ed632962c76dfe539047296",
      "tree": "354e79b15b101a2ace627ce08779e4ef40c1e477",
      "parents": [
        "afdcba371f9748ac91608bb6c57f170aab7085b4"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 23 10:24:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:43:16 2010 -0700"
      },
      "message": "ethtool: allow non-netadmin to query settings\n\nThe SNMP daemon uses ethtool to determine the speed of\nnetwork interfaces. This fails on Debian (and probably elsewhere)\nbecause for security SNMP daemon runs as non-root user (snmp).\n\nNote: A similar patch was rejected previously because of a concern about\nthe possibility that on some hardware querying the ethtool settings\nrequires access to the PHY and could slow the machine down.  But the\nsecurity risk of requiring SNMP daemon (and related services)\nto run as root far out weighs the risk of denial-of-service.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afdcba371f9748ac91608bb6c57f170aab7085b4",
      "tree": "4f4662069ea1c7e19cc8815c5a5490f2b0d49757",
      "parents": [
        "0eec32ff350348e635b3b8d87b989117ce045d25"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 23 07:14:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:43:16 2010 -0700"
      },
      "message": "net: copy_rtnl_link_stats64() simplification\n\nNo need to use a temporary struct rtnl_link_stats64 variable,\njust copy the source to skb buffer.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eec32ff350348e635b3b8d87b989117ce045d25",
      "tree": "f72ca99d915191d89e3446d599c0937cf6405acf",
      "parents": [
        "7abac686026ec1af38f6e766369dbfe4007949b6"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Aug 23 03:27:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:43:15 2010 -0700"
      },
      "message": "net_sched: act_csum: coding style cleanup\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7abac686026ec1af38f6e766369dbfe4007949b6",
      "tree": "a29f7c29a4dce09ba5a515020cefdb444a51877e",
      "parents": [
        "ccea790ef033cc890ca4b416a783e9f9dffe556e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:42:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:42:11 2010 -0700"
      },
      "message": "pkt_sched: Make act_csum depend upon INET.\n\nIt uses ip_send_check() and stuff like that.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "231cc2aaf14bad3b2325be0b19b8385ff5e75485",
      "tree": "0836d99d5c6fedca5793db99799a41ba35863b38",
      "parents": [
        "c38c92a84a9291a3d0eaf6a13650a11961ae964f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 22 19:41:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:13:31 2010 -0700"
      },
      "message": "dccp ccid-2: Replace broken RTT estimator with better algorithm\n\nThe current CCID-2 RTT estimator code is in parts broken and lags behind the\nsuggestions in RFC2988 of using scaled variants for SRTT/RTTVAR.\n\nThat code is replaced by the present patch, which reuses the Linux TCP RTT\nestimator code.\n\nFurther details:\n----------------\n 1. The minimum RTO of previously one second has been replaced with TCP\u0027s, since\n    RFC4341, sec. 5 says that the minimum of 1 sec. (suggested in RFC2988, 2.4)\n    is not necessary. Instead, the TCP_RTO_MIN is used, which agrees with DCCP\u0027s\n    concept of a default RTT (RFC 4340, 3.4).\n 2. The maximum RTO has been set to DCCP_RTO_MAX (64 sec), which agrees with\n    RFC2988, (2.5).\n 3. De-inlined the function ccid2_new_ack().\n 4. Added a FIXME: the RTT is sampled several times per Ack Vector, which will\n    give the wrong estimate. It should be replaced with one sample per Ack.\n    However, at the moment this can not be resolved easily, since\n    - it depends on TX history code (which also needs some work),\n    - the cleanest solution is not to use the `sent\u0027 time at all (saves 4 bytes\n      per entry) and use DCCP timestamps / elapsed time to estimated the RTT,\n      which however is non-trivial to get right (but needs to be done).\n\nReasons for reusing the Linux TCP estimator algorithm:\n------------------------------------------------------\nSome time was spent to find a better alternative, using basic RFC2988 as a first\nstep. Further analysis and experimentation showed that the Linux TCP RTO\nestimator is superior to a basic RFC2988 implementation. A summary is on\nhttp://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ccid2/rto_estimator/\n\nIn addition, this estimator fared well in a recent empirical evaluation:\n\n    Rewaskar, Sushant, Jasleen Kaur and F. Donelson Smith.\n    A Performance Study of Loss Detection/Recovery in Real-world TCP\n    Implementations. Proceedings of 15th IEEE International\n    Conference on Network Protocols (ICNP-07), 2007.\n\nThus there is significant benefit in reusing the existing TCP code.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "c38c92a84a9291a3d0eaf6a13650a11961ae964f"
}
