)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "c38c92a84a9291a3d0eaf6a13650a11961ae964f",
      "tree": "10ecb23a7da317f7c18d1388bb1b97f3e82b65de",
      "parents": [
        "30564e355511b434613aa42375317b5a07fc9f23"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 22 19:41:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:13:31 2010 -0700"
      },
      "message": "dccp ccid-2: Simplify dec_pipe and rearming of RTO timer\n\nThis removes the dec_pipe function and improves the way the RTO timer is rearmed\nwhen a new acknowledgment comes in.\n\nDetails and justification for removal:\n--------------------------------------\n 1) The BUG_ON in dec_pipe is never triggered: pipe is only decremented for TX\n    history entries between tail and head, for which it had previously been\n    incremented in tx_packet_sent; and it is not decremented twice for the same\n    entry, since it is\n    - either decremented when a corresponding Ack Vector cell in state 0 or 1\n      was received (and then ccid2s_acked\u003d\u003d1),\n    - or it is decremented when ccid2s_acked\u003d\u003d0, as part of the loss detection\n      in tx_packet_recv (and hence it can not have been decremented earlier).\n\n 2) Restarting the RTO timer happens for every single entry in each Ack Vector\n    parsed by tx_packet_recv (according to RFC 4340, 11.4 this can happen up to\n    16192 times per Ack Vector).\n\n 3) The RTO timer should not be restarted when all outstanding data has been\n    acknowledged. This is currently done similar to (2), in dec_pipe, when\n    pipe has reached 0.\n\nThe patch onsolidates the code which rearms the RTO timer, combining the\nsegments from new_ack and dec_pipe. As a result, the code becomes clearer\n(compare with tcp_rearm_rto()).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30564e355511b434613aa42375317b5a07fc9f23",
      "tree": "e76cdb56159582a9f7979697f3661bdf4b1d3cb4",
      "parents": [
        "51c22bb510fefbb1a87c02dbd835383e6e7e3d36"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 22 19:41:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:13:30 2010 -0700"
      },
      "message": "dccp ccid-2: Remove redundant sanity tests\n\nThis removes the ccid2_hc_tx_check_sanity function: it is redundant.\n\nDetails:\n\nThe tx_check_sanity function performs three tests:\n 1) it checks that the circular TX list is sorted\n    - in ascending order of sequence number (ccid2s_seq)\n    - and time (ccid2s_sent),\n    - in the direction from `tail\u0027 (hctx_seqt) to `head\u0027 (hctx_seqh);\n 2) it ensures that the entire list has the length seqbufc * CCID2_SEQBUF_LEN;\n 3) it ensures that pipe equals the number of packets that were not\n    marked `acked\u0027 (ccid2s_acked) between `tail\u0027 and `head\u0027.\n\nThe following argues that each of these tests is redundant, this can be verified\nby going through the code.\n\n(1) is not necessary, since both time and GSS increase from one packet to the\nnext, so that subsequent insertions in tx_packet_sent (which advance the `head\u0027\npointer) will be in ascending order of time and sequence number.\n\nIn (2), the length of the list is always equal to seqbufc times CCID2_SEQBUF_LEN\n(set to 1024) unless allocation caused an earlier failure, because:\n * at initialisation (tx_init), there is one chunk of size 1024 and seqbufc\u003d1;\n * subsequent calls to tx_alloc_seq take place whenever head-\u003enext \u003d\u003d tail in\n   tx_packet_sent; then a new chunk of size 1024 is inserted between head and\n   tail, and seqbufc is incremented by one.\n\nTo show that (3) is redundant requires looking at two cases.\n\nThe `pipe\u0027 variable of the TX socket is incremented only in tx_packet_sent, and\ndecremented in tx_packet_recv.  When head \u003d\u003d tail (TX history empty) then pipe\nshould be 0, which is the case directly after initialisation and after a\nretransmission timeout has occurred (ccid2_hc_tx_rto_expire).\n\nThe first case involves parsing Ack Vectors for packets recorded in the live\nportion of the buffer, between tail and head. For each packet marked by the\nreceiver as received (state 0) or ECN-marked (state 1), pipe is decremented by\none, so for all such packets the BUG_ON in tx_check_sanity will not trigger.\n\nThe second case is the loss detection in the second half of tx_packet_recv,\nbelow the comment \"Check for NUMDUPACK\".\n\nThe first while-loop here ensures that the sequence number of `seqp\u0027 is either\nabove or equal to `high_ack\u0027, or otherwise equal to the highest sequence number\nsent so far (of the entry head-\u003eprev, as head points to the next unsent entry).\nThe next while-loop (\"while (1)\") counts the number of acked packets starting\nfrom that position of seqp, going backwards in the direction from head-\u003eprev to\ntail. If NUMDUPACK\u003d3 such packets were counted within this loop, `seqp\u0027 points\nto the last acknowledged packet of these, and the \"if (done \u003d\u003d NUMDUPACK)\" block\nis entered next.\nThe while-loop contained within that block in turn traverses the list backwards,\nfrom head to tail; the position of `seqp\u0027 is saved in the variable `last_acked\u0027.\nFor each packet not marked as `acked\u0027, a congestion event is triggered within\nthe loop, and pipe is decremented. The loop terminates when `seqp\u0027 has reached\n`tail\u0027, whereupon tail is set to the position previously stored in `last_acked\u0027.\nThus, between `last_acked\u0027 and the previous position of `tail\u0027,\n - pipe has been decremented earlier if the packet was marked as state 0 or 1;\n - pipe was decremented if the packet was not marked as acked.\nThat is, pipe has been decremented by the number of packets between `last_acked\u0027\nand the previous position of `tail\u0027. As a consequence, pipe now again reflects\nthe number of packets which have not (yet) been acked between the new position\nof tail (at `last_acked\u0027) and head-\u003eprev, or 0 if head\u003d\u003dtail. The result is that\nthe BUG_ON condition in check_sanity will also not be triggered, hence the test\n(3) is also redundant.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51c22bb510fefbb1a87c02dbd835383e6e7e3d36",
      "tree": "16c792c63bdf6de0fd92c27f2819161edd15927e",
      "parents": [
        "67b67e365f07d6dc70f3bb266af3268bac0a4836"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 22 19:41:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:13:30 2010 -0700"
      },
      "message": "dccp ccid-3: No more CCID control blocks in LISTEN state\n\nThe CCIDs are activated as last of the features, at the end of the handshake,\nwere the LISTEN state of the master socket is inherited into the server\nstate of the child socket. Thus, the only states visible to CCIDs now are\nOPEN/PARTOPEN, and the closing states.\n\nThis allows to remove tests which were previously necessary to protect\nagainst referencing a socket in the listening state (in CCID-3), but which\nnow have become redundant.\n\nAs a further byproduct of enabling the CCIDs only after the connection has been\nfully established, several typecast-initialisations of ccid3_hc_{rx,tx}_sock\ncan now be eliminated:\n * the CCID is loaded, so it is not necessary to test if it is NULL,\n * if it is possible to load a CCID and leave the private area NULL, then this\n    is a bug, which should crash loudly - and earlier,\n * the test for state\u003d\u003dOPEN || state\u003d\u003dPARTOPEN now reduces only to the closing\n   phase (e.g. when the node has received an unexpected Reset).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67b67e365f07d6dc70f3bb266af3268bac0a4836",
      "tree": "58cc9640f8859c1e13262267efaa507a035c3a77",
      "parents": [
        "21dc330157454046dd7c494961277d76e1c957fe"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 22 19:41:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:13:29 2010 -0700"
      },
      "message": "ccid: ccid-2/3 code cosmetics\n\nThis patch collects cosmetics-only changes to separate these from\ncode changes:\n * update with regard to CodingStyle and whitespace changes,\n * documentation:\n   - adding/revising comments,\n   - remove CCID-3 RX socket documentation which is either\n     duplicate or refers to fields that no longer exist,\n * expand embedded tfrc_tx_info struct inline for consistency,\n   removing indirections via #define.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21dc330157454046dd7c494961277d76e1c957fe",
      "tree": "4f030efa8d82f7eb9676acd4cfc74921a6d29972",
      "parents": [
        "2d4833aae65589ba4317dd325fe20c8b25c14173"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "message": "net: Rename skb_has_frags to skb_has_frag_list\n\nSKBs can be \"fragmented\" in two ways, via a page array (called\nskb_shinfo(skb)-\u003efrags[]) and via a list of SKBs (called\nskb_shinfo(skb)-\u003efrag_list).\n\nSince skb_has_frags() tests the latter, it\u0027s name is confusing\nsince it sounds more like it\u0027s testing the former.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e88c64f0a42575e01c7ace903d0570bc0b7fcf85",
      "tree": "a3e4a4165f978c68823b2453591ea46a3b7a525e",
      "parents": [
        "c2368e795cec561229ef66a04ac51629b918a9e8"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Thu Aug 19 06:33:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 21:42:54 2010 -0700"
      },
      "message": "tcp: allow effective reduction of TCP\u0027s rcv-buffer via setsockopt\n\nVia setsockopt it is possible to reduce the socket RX buffer\n(SO_RCVBUF). TCP method to select the initial window and window scaling\noption in tcp_select_initial_window() currently misbehaves and do not\nconsider a reduced RX socket buffer via setsockopt.\n\nEven though the server\u0027s RX buffer is reduced via setsockopt() to 256\nbyte (Initial Window 384 byte \u003d\u003e 256 * 2 - (256 * 2 / 4)) the window\nscale option is still 7:\n\n192.168.1.38.40676 \u003e 78.47.222.210.5001: Flags [S], seq 2577214362, win 5840, options [mss 1460,sackOK,TS val 338417 ecr 0,nop,wscale 0], length 0\n78.47.222.210.5001 \u003e 192.168.1.38.40676: Flags [S.], seq 1570631029, ack 2577214363, win 384, options [mss 1452,sackOK,TS val 2435248895 ecr 338417,nop,wscale 7], length 0\n192.168.1.38.40676 \u003e 78.47.222.210.5001: Flags [.], ack 1, win 5840, options [nop,nop,TS val 338421 ecr 2435248895], length 0\n\nWithin tcp_select_initial_window() the original space argument - a\nrepresentation of the rx buffer size - is expanded during\ntcp_select_initial_window(). Only sysctl_tcp_rmem[2], sysctl_rmem_max\nand window_clamp are considered to calculate the initial window.\n\nThis patch adjust the window_clamp argument if the user explicitly\nreduce the receive buffer.\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2368e795cec561229ef66a04ac51629b918a9e8",
      "tree": "2fd08484e8948dc2969ac2d01b00af175b93abb5",
      "parents": [
        "fcb12fd2236f49aa8fdc1568ed4ebdfe4fddc6b5"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 17:35:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 21:09:04 2010 -0700"
      },
      "message": "bridge: is PACKET_LOOPBACK unlikely()?\n\nWhile looking at using netdev_rx_handler_register for openvswitch Jesse\nGross suggested that an unlikely() might be worthwhile in that code.\nI\u0027m interested to see if its appropriate for the bridge code.\n\nCc: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05532121da0728eaedac2a0a5c3cecad3a95d765",
      "tree": "1b1ff9e02b87527868c7698f0369d00d4c86a0a0",
      "parents": [
        "2436243a39de56f03d38c74139261cc61bea8456"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Aug 22 21:03:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 21:03:33 2010 -0700"
      },
      "message": "net: 802.1q: make vlan_hwaccel_do_receive() return void\n\nvlan_hwaccel_do_receive() always returns 0, so make it return void.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2436243a39de56f03d38c74139261cc61bea8456",
      "tree": "5b2426d71f5b0fcc0543a7a3d8d093383faf6afd",
      "parents": [
        "d8287fc864643beaf1623c92aceb1ab38eae0648"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Aug 22 20:31:14 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 20:31:14 2010 -0700"
      },
      "message": "net/sched: need to include net/ip6_checksum.h\n\nfor the declararion of csum_ipv6_magic.\n\nFixes this build error on PowerPC (at least):\n\nnet/sched/act_csum.c: In function \u0027tcf_csum_ipv6_icmp\u0027:\nnet/sched/act_csum.c:178: error: implicit declaration of function \u0027csum_ipv6_magic\u0027\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "739a91ef0625e0e4a40b835f4f891313c47915df",
      "tree": "bfcb025c8b446a81e82f0b57ad76168996ce49bc",
      "parents": [
        "81ce790bd75d49a0d119f5d7b27405e1d9b1bd57"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Aug 21 06:23:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:40:14 2010 -0700"
      },
      "message": "net_sched: cls_flow: add key rxhash\n\nWe can use rxhash to classify the traffic into flows. As rxhash maybe\nsupplied by NIC or RPS, it is cheaper.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81ce790bd75d49a0d119f5d7b27405e1d9b1bd57",
      "tree": "205553c0d932bb81951c77aaed1e7e8b97473248",
      "parents": [
        "d3c6e7ad09cebbad1a3dea077668062136626fd2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 19 23:51:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:32:31 2010 -0700"
      },
      "message": "irda: use net_device_stats from struct net_device\n\nstruct net_device has its own struct net_device_stats member, so use\nthis one instead of a private copy in the irlan_cb struct.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3c6e7ad09cebbad1a3dea077668062136626fd2",
      "tree": "698022508a8d8c76a5d2cf55e50232079d6b1f42",
      "parents": [
        "c3227e546c574172e77616270a16a04eae561b8f",
        "48d3ff82698cb0094684aed70446e0a5cbb1a4d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:32:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:32:24 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "00959ade36acadc00e757f87060bf6e4501d545f",
      "tree": "9bfe790d4a8b63b0e6653388da73dfd777eea8ff",
      "parents": [
        "1003489e06c04d807c783a8958f2ccc9aed7a244"
      ],
      "author": {
        "name": "Dmitry Kozlov",
        "email": "xeb@mail.ru",
        "time": "Sat Aug 21 23:05:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:05:39 2010 -0700"
      },
      "message": "PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol)\n\nPPP: introduce \"pptp\" module which implements point-to-point tunneling protocol using pppox framework\nNET: introduce the \"gre\" module for demultiplexing GRE packets on version criteria\n     (required to pptp and ip_gre may coexists)\nNET: ip_gre: update to use the \"gre\" module\n\nThis patch introduces then pptp support to the linux kernel which\ndramatically speeds up pptp vpn connections and decreases cpu usage in\ncomparison of existing user-space implementation\n(poptop/pptpclient). There is accel-pptp project\n(https://sourceforge.net/projects/accel-pptp/) to utilize this module,\nit contains plugin for pppd to use pptp in client-mode and modified\npptpd (poptop) to build high-performance pptp NAS.\n\nThere was many changes from initial submitted patch, most important are:\n1. using rcu instead of read-write locks\n2. using static bitmap instead of dynamically allocated\n3. using vmalloc for memory allocation instead of BITS_PER_LONG + __get_free_pages\n4. fixed many coding style issues\nThanks to Eric Dumazet.\n\nSigned-off-by: Dmitry Kozlov \u003cxeb@mail.ru\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1003489e06c04d807c783a8958f2ccc9aed7a244",
      "tree": "cf42b133731794a92e073b6ca7170d1099d0a360",
      "parents": [
        "eb4d40654505e47aa9d2035bb97f631fa61d14b4"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Aug 21 06:13:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 22:54:49 2010 -0700"
      },
      "message": "net: rps: fix the wrong network header pointer\n\n__skb_get_rxhash() was broken after the commit:\n\n commit bfb564e7391340638afe4ad67744a8f3858e7566\n Author: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\n Date:   Wed Aug 4 06:15:52 2010 +0000\n\n core: Factor out flow calculation from get_rps_cpu\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb4d40654505e47aa9d2035bb97f631fa61d14b4",
      "tree": "bed2a1c5026e9797c0ed48c67c48b050e7f07e3c",
      "parents": [
        "49e8ab03ebcacd8e37660ffec20c0c46721a2800"
      ],
      "author": {
        "name": "Grégoire Baron",
        "email": "baronchon@n7mm.org",
        "time": "Wed Aug 18 13:10:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 20 01:42:59 2010 -0700"
      },
      "message": "net/sched: add ACT_CSUM action to update packets checksums\n\nnet/sched: add ACT_CSUM action to update packets checksums\n\nACT_CSUM can be called just after ACT_PEDIT in order to re-compute some\naltered checksums in IPv4 and IPv6 packets. The following checksums are\nsupported by this patch:\n - IPv4: IPv4 header, ICMP, IGMP, TCP, UDP \u0026 UDPLite\n - IPv6: ICMPv6, TCP, UDP \u0026 UDPLite\nIt\u0027s possible to request in the same action to update different kind of\nchecksums, if the packets flow mix TCP, UDP and UDPLite, ...\n\nAn example of usage is done in the associated iproute2 patch.\n\nVersion 3 changes:\n - remove useless goto instructions\n - improve IPv6 hop options decoding\n\nVersion 2 changes:\n - coding style correction\n - remove useless arguments of some functions\n - use stack in tcf_csum_dump()\n - add tcf_csum_skb_nextlayer() to factor code\n\nSigned-off-by: Gregoire Baron \u003cbaronchon@n7mm.org\u003e\nAcked-by: jamal \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49e8ab03ebcacd8e37660ffec20c0c46721a2800",
      "tree": "78f17093ffdbf4e2cd788033f113888c472f0d7b",
      "parents": [
        "4da79504b2b41410dd56e9268c9ad403aa65e89c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 19 06:10:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 20 00:50:16 2010 -0700"
      },
      "message": "net: build_ehash_secret() and rt_bind_peer() cleanups\n\nNow cmpxchg() is available on all arches, we can use it in\nbuild_ehash_secret() and rt_bind_peer() instead of using spinlocks.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9959c2e4460b1df1d113d829180398588bb04b4",
      "tree": "417b3f0564e6df025f272005f971ec859216b815",
      "parents": [
        "aca071c1c1c07bcc0b100b7c58e59790d6be6a69"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 17 19:07:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 17:16:25 2010 -0700"
      },
      "message": "net_sched: sch_sfq: use proto_ports_offset() to support AH message\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aca071c1c1c07bcc0b100b7c58e59790d6be6a69",
      "tree": "838cc780da30b1b06365f5feedac96ec164b1902",
      "parents": [
        "3d04ebb6ab2ac9a3bea7644f0d13cdf65002b870"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 17 19:06:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 17:16:25 2010 -0700"
      },
      "message": "netfilter: xt_hashlimit: use proto_ports_offset() to support AH message\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d04ebb6ab2ac9a3bea7644f0d13cdf65002b870",
      "tree": "6d4dee875f2ef6d2e10487520edd37d641621b84",
      "parents": [
        "78d3307eded853f01c5e9aaa8c0768c2f75825a3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 17 20:34:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 17:16:24 2010 -0700"
      },
      "message": "netfilter: ipt_CLUSTERIP: use proto_ports_offset() to support AH message\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78d3307eded853f01c5e9aaa8c0768c2f75825a3",
      "tree": "fe49617979b370786ce7c80b723acbc707ea6012",
      "parents": [
        "12fcdefb3643607c47f39906a49056cf608bb545"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 17 19:05:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 17:16:24 2010 -0700"
      },
      "message": "net_sched: cls_flow: use proto_ports_offset() to support AH message\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "12fcdefb3643607c47f39906a49056cf608bb545"
}
