)]}'
{
  "log": [
    {
      "commit": "1fafc7a9353ef68e1b8d4bb130cb6402cf7dfd5a",
      "tree": "5e75cffd4a8ff91cd3f73d39db70ad784cf36565",
      "parents": [
        "4a4771a58e13b46bfdc999fe481e550f8c6937ff"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 25 08:06:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 26 11:26:58 2010 -0700"
      },
      "message": "bridge br_multicast: Ensure to initialize BR_INPUT_SKB_CB(skb)-\u003emrouters_only.\n\nEven with commit 32dec5dd0233ebffa9cae25ce7ba6daeb7df4467 (\"bridge\nbr_multicast: Don\u0027t refer to BR_INPUT_SKB_CB(skb)-\u003emrouters_only\nwithout IGMP snooping.\"), BR_INPUT_SKB_CB(skb)-\u003emrouters_only is\nnot appropriately initialized if IGMP/MLD snooping support is\ncompiled and disabled, so we can see garbage.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a4771a58e13b46bfdc999fe481e550f8c6937ff",
      "tree": "42bb025b051ba79efda403e1b843c2a9a1243946",
      "parents": [
        "be9e969d79e40c59142fa9e931aa6f085581b379"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 25 22:20:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 26 11:18:45 2010 -0700"
      },
      "message": "net: use sk_sleep()\n\nCommit aa395145 (net: sk_sleep() helper) missed three files in the\nconversion.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0db3f0f49a99db33a411af1c4352839c0296eff3",
      "tree": "41312a7ead1039d2919b1946b95949ca895766d7",
      "parents": [
        "b3c981d2bbbe889125169bd0bb482e64d3c028a1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Mon Apr 26 03:41:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 26 11:18:44 2010 -0700"
      },
      "message": "phonet: use phonet_pernet instead of directly net_generic\n\nAs in for example pppoe introduce phonet_pernet and use it instead of calling\nnet_generic directly.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3c981d2bbbe889125169bd0bb482e64d3c028a1",
      "tree": "81c5a84c234ae7cd7fb33c0953092237207b254c",
      "parents": [
        "8c52d509e84bbf26cffb8b6e75b399689af67885"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sun Apr 25 00:49:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 25 00:49:56 2010 -0700"
      },
      "message": "netns: rename unregister_pernet_subsys parameter\n\nStay consistent with other functions and with comment also and name\npernet_operations parameter properly.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c52d509e84bbf26cffb8b6e75b399689af67885",
      "tree": "d26461f82d204e044f68a8f85b4b4ea71682b09d",
      "parents": [
        "bf73130d7f98c8c4db143e2dc4982f4eefd5d5e5"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Apr 24 22:50:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 24 22:50:10 2010 -0700"
      },
      "message": "rps: optimize rps_get_cpu()\n\noptimize rps_get_cpu().\n\ndon\u0027t initialize ports when we can get the ports. one memory access\nfor ports than two.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7d6a4321195c32b548f0185a2fa0b8f6e02bcfc",
      "tree": "565faf60d0a2cf77f34275b77a775e3e4a5fb8d5",
      "parents": [
        "4b340ae20d0e2366792abe70f46629e576adaf5e",
        "08b202b6726459626c73ecfa08fcdc8c3efc76c2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:37:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:37:24 2010 -0700"
      },
      "message": "Merge branch \u0027net-next-2.6_20100423a/br/br_multicast_v3\u0027 of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-next\n"
    },
    {
      "commit": "4b340ae20d0e2366792abe70f46629e576adaf5e",
      "tree": "b0c413a0348e722fbc23d45508224076b6e60f92",
      "parents": [
        "13b52cd44670e3359055e9918d0e766d89836425"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:29 2010 -0700"
      },
      "message": "IPv6: Complete IPV6_DONTFRAG support\n\nFinally add support to detect a local IPV6_DONTFRAG event\nand return the relevant data to the user if they\u0027ve enabled\nIPV6_RECVPATHMTU on the socket.  The next recvmsg() will\nreturn no data, but have an IPV6_PATHMTU as ancillary data.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13b52cd44670e3359055e9918d0e766d89836425",
      "tree": "7685597f218fd02dab9abdb32ea0d4ec7c318027",
      "parents": [
        "793b14731686595a741d9f47726ad8b9a235385a"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:28 2010 -0700"
      },
      "message": "IPv6: Add dontfrag argument to relevant functions\n\nAdd dontfrag argument to relevant functions for\nIPV6_DONTFRAG support, as well as allowing the value\nto be passed-in via ancillary cmsg data.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "793b14731686595a741d9f47726ad8b9a235385a",
      "tree": "915755840b09ed25911bfbc965bc5e186d05383d",
      "parents": [
        "3a737028630bb3c2b9efc38b9ddef2e09b06b808"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:28 2010 -0700"
      },
      "message": "IPv6: data structure changes for new socket options\n\nAdd underlying data structure changes and basic setsockopt()\nand getsockopt() support for IPV6_RECVPATHMTU, IPV6_PATHMTU,\nand IPV6_DONTFRAG.  IPV6_PATHMTU is actually fully functional\nat this point.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a737028630bb3c2b9efc38b9ddef2e09b06b808",
      "tree": "d1d1a4fbaa71f966f4f9b793a792211d59fda834",
      "parents": [
        "e773aaff8295e7f3428d9cf6f8a476a33de00716"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Apr 23 01:01:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 16:37:33 2010 -0700"
      },
      "message": "l2tp_eth: fix memory allocation\n\nSince .size is set properly in \"struct pernet_operations l2tp_eth_net_ops\",\nallocating space for \"struct l2tp_eth_net\" by hand is not correct, even causes\nmemory leakage.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e773aaff8295e7f3428d9cf6f8a476a33de00716",
      "tree": "cdfe16f60d218a7e0ffb4dddd3ff1428703e4190",
      "parents": [
        "3b51cc996e81d8a113416d8094fa4a88f8360a51"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Apr 23 00:53:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 16:37:32 2010 -0700"
      },
      "message": "l2tp: fix memory allocation\n\nSince .size is set properly in \"struct pernet_operations l2tp_net_ops\",\nallocating space for \"struct l2tp_net\" by hand is not correct, even causes\nmemory leakage.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b51cc996e81d8a113416d8094fa4a88f8360a51",
      "tree": "e75b98b228bb4e456c30673fcc4b56ffa1d09cf5",
      "parents": [
        "c68ed255265968c3948fa2678bf59d15c471b055",
        "672724403b42da1d276c6cf811e8e34d15efd964"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-debugfs.c\n"
    },
    {
      "commit": "08b202b6726459626c73ecfa08fcdc8c3efc76c2",
      "tree": "1d4c3ac1584cf445beb6de2e2fd6f22ee64d23ae",
      "parents": [
        "8ef2a9a59854994bace13b5c4f7edc2c8d4d124e"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 23 01:54:22 2010 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 23 13:35:56 2010 +0900"
      },
      "message": "bridge br_multicast: IPv6 MLD support.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "8ef2a9a59854994bace13b5c4f7edc2c8d4d124e",
      "tree": "ef123540d1bb398ec1c6cc9b713425e1da8b5f04",
      "parents": [
        "6e7cb8370760ec17e10098399822292def8d84f3"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 18 12:42:07 2010 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 23 13:35:55 2010 +0900"
      },
      "message": "bridge br_multicast: Make functions less ipv4 dependent.\n\nIntroduce struct br_ip{} to store ip address and protocol\nand make functions more generic so that we can support\nboth IPv4 and IPv6 with less pain.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "6e7cb8370760ec17e10098399822292def8d84f3",
      "tree": "879ad4284b71e6095bb0128de5b2f02007f27f30",
      "parents": [
        "efe91932e79cfe59a562b70d8eb18049b36debc6"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 18 12:42:05 2010 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 23 13:35:55 2010 +0900"
      },
      "message": "ipv6 mcast: Introduce include/net/mld.h for MLD definitions.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "5ebfbc06aae941484326c9e7e9c4d85330f63591",
      "tree": "35719a9023c47bdaaf25771c03836a15150dc741",
      "parents": [
        "f68c224fedff2157f3fad7f7da674cbc96567c84"
      ],
      "author": {
        "name": "Andrew Hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Thu Apr 22 16:12:36 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:12:36 2010 -0700"
      },
      "message": "X25: Add if_x25.h and x25 to device identifiers\n\nV2 Feedback from John Hughes.\n- Add header for userspace implementations such as xot/xoe to use\n- Use explicit values for interface stability\n- No changes to driver patches\n\nV1\n- Use identifiers instead of magic numbers for X25 layer 3 to device interface.\n- Also fixed checkpatch notes on updated code.\n\n[ Add new user header to include/linux/Kbuild  -DaveM ]\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40eaf96271526a9f71030dd1a199ce46c045752e",
      "tree": "2921b984a4e1de3d0e13cebf49bc9afcb0551725",
      "parents": [
        "aa2ea0586d9dbe56a334d835a43b45e8c2104e77"
      ],
      "author": {
        "name": "Paul LeoNerd Evans",
        "email": "leonerd@leonerd.org.uk",
        "time": "Thu Apr 22 03:32:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:05:44 2010 -0700"
      },
      "message": "net: Socket filter ancilliary data access for skb-\u003edev-\u003etype\n\nAdd an SKF_AD_HATYPE field to the packet ancilliary data area, giving\naccess to skb-\u003edev-\u003etype, as reported in the sll_hatype field.\n\nWhen capturing packets on a PF_PACKET/SOCK_RAW socket bound to all\ninterfaces, there doesn\u0027t appear to be a way for the filter program to\nactually find out the underlying hardware type the packet was captured\non. This patch adds such ability.\n\nThis patch also handles the case where skb-\u003edev can be NULL, such as on\nnetlink sockets.\n\nSigned-off-by: Paul Evans \u003cleonerd@leonerd.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa2ea0586d9dbe56a334d835a43b45e8c2104e77",
      "tree": "1f218166bff8513858ac253e84264a4a8fe9ff0d",
      "parents": [
        "3cfa856d6d43894ebffdc28d2f0587595280893b"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Thu Apr 22 07:00:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:00:00 2010 -0700"
      },
      "message": "tcp: fix outsegs stat for TSO segments\n\nAccount for TSO segments of an skb in TCP_MIB_OUTSEGS counter.  Without\ndoing this, the counter can be off by orders of magnitude from the\nactual number of segments sent.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e802af9cabb011f09b9c19a82faef3dd315f27eb",
      "tree": "9a8ef1163b9b40fef8860b08ea4dcb4ff3916098",
      "parents": [
        "9ccb8975940c4ee51161152e37058e3d9e06c62f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 22 15:24:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 15:24:53 2010 -0700"
      },
      "message": "IPv6: Generic TTL Security Mechanism (final version)\n\nThis patch adds IPv6 support for RFC5082 Generalized TTL Security Mechanism.  \n\nNot to users of mapped address; the IPV6 and IPV4 socket options are seperate.\nThe server does have to deal with both IPv4 and IPv6 socket options\nand the client has to handle the different for each family.\n\nOn client:\n\tint ttl \u003d 255;\n\tgetaddrinfo(argv[1], argv[2], \u0026hint, \u0026result);\n\n\tfor (rp \u003d result; rp !\u003d NULL; rp \u003d rp-\u003eai_next) {\n\t\ts \u003d socket(rp-\u003eai_family, rp-\u003eai_socktype, rp-\u003eai_protocol);\n\t\tif (s \u003c 0) continue;\n\n\t\tif (rp-\u003eai_family \u003d\u003d AF_INET) {\n\t\t\tsetsockopt(s, IPPROTO_IP, IP_TTL, \u0026ttl, sizeof(ttl));\n\t\t} else if (rp-\u003eai_family \u003d\u003d AF_INET6) {\n\t\t\tsetsockopt(s, IPPROTO_IPV6,  IPV6_UNICAST_HOPS, \n\t\t\t\t\t\u0026ttl, sizeof(ttl)))\n\t\t}\n\t\t\t\n\t\tif (connect(s, rp-\u003eai_addr, rp-\u003eai_addrlen) \u003d\u003d 0) {\n\t\t   ...\n\nOn server:\n\tint minttl \u003d 255 - maxhops;\n   \n\tgetaddrinfo(NULL, port, \u0026hints, \u0026result);\n\tfor (rp \u003d result; rp !\u003d NULL; rp \u003d rp-\u003eai_next) {\n\t\ts \u003d socket(rp-\u003eai_family, rp-\u003eai_socktype, rp-\u003eai_protocol);\n\t\tif (s \u003c 0) continue;\n\n\t\tif (rp-\u003eai_family \u003d\u003d AF_INET6)\n\t\t\tsetsockopt(s, IPPROTO_IPV6,  IPV6_MINHOPCOUNT,\n\t\t\t\t\t\u0026minttl, sizeof(minttl));\n\t\tsetsockopt(s, IPPROTO_IP, IP_MINTTL, \u0026minttl, sizeof(minttl));\n\t\t\t\n\t\tif (bind(s, rp-\u003eai_addr, rp-\u003eai_addrlen) \u003d\u003d 0)\n\t\t\tbreak\n...\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ccb8975940c4ee51161152e37058e3d9e06c62f",
      "tree": "2893117519551b3f42944e066ab0aeb2c12b6aa7",
      "parents": [
        "e326bed2f47d0365da5a8faaf8ee93ed2d86325b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 01:02:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 01:02:07 2010 -0700"
      },
      "message": "net: Orphan and de-dst skbs earlier in xmit path.\n\nThis way GSO packets don\u0027t get handled differently.\n\nWith help from Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "e326bed2f47d0365da5a8faaf8ee93ed2d86325b",
      "tree": "46ee31550c49efa4c06c857b039ab6fdabf08a9c",
      "parents": [
        "de498c89254b5b89f676e9c9292396d5ebf52bf2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 22 00:22:45 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 00:22:45 2010 -0700"
      },
      "message": "rps: immediate send IPI in process_backlog()\n\nIf some skb are queued to our backlog, we are delaying IPI sending at\nthe end of net_rx_action(), increasing latencies. This defeats the\nqueueing, since we want to quickly dispatch packets to the pool of\nworker cpus, then eventually deeply process our packets.\n\nIt\u0027s better to send IPI before processing our packets in upper layers,\nfrom process_backlog().\n\nChange the _and_disable_irq suffix to _and_enable_irq(), since we enable\nlocal irq in net_rps_action(), sorry for the confusion.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b002a861092b0db128800794a116cc3acc5ec239",
      "tree": "6d4f2c91f164de43bf387537aff72c222134cc40",
      "parents": [
        "9a20e3197e7f6097897c6d1f18335a326ee06299"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 20 21:06:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 22:57:19 2010 -0700"
      },
      "message": "ethernet: print protocol in host byte order\n\nEric\u0027s recent patch added __force, but this\nplace would seem to require actually doing\na byte order conversion so the printk is\nconsistent across architectures.\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a20e3197e7f6097897c6d1f18335a326ee06299",
      "tree": "607961225afba3dad014e857797881070d915be0",
      "parents": [
        "a7c561f2e32f98b477f5fe670b3f294be6b1eae2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 20:08:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 22:54:08 2010 -0700"
      },
      "message": "net: Introduce skb_orphan_try()\n\nAt this point, skb-\u003edestructor is not the original one (stored in\nDEV_GSO_CB(skb)-\u003edestructor)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "989a2979205dd34269382b357e6d4b4b6956b889",
      "tree": "2f504e9f4d8d418dd8fb2d042b076c1318232360",
      "parents": [
        "e5700aff144fbbba46be40049f0c55fb57283777"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 14 09:55:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 16:19:29 2010 -0700"
      },
      "message": "fasync: RCU and fine grained locking\n\nkill_fasync() uses a central rwlock, candidate for RCU conversion, to\navoid cache line ping pongs on SMP.\n\nfasync_remove_entry() and fasync_add_entry() can disable IRQS on a short\nsection instead during whole list scan.\n\nUse a spinlock per fasync_struct to synchronize kill_fasync_rcu() and\nfasync_{remove|add}_entry(). This spinlock is IRQ safe, so sock_fasync()\ndoesnt need its own implementation and can use fasync_helper(), to\nreduce code size and complexity.\n\nWe can remove __kill_fasync() direct use in net/socket.c, and rename it\nto kill_fasync_rcu().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5700aff144fbbba46be40049f0c55fb57283777",
      "tree": "94eafb68774f5c23c22e8a98794f0f1a760a6c27",
      "parents": [
        "f71b70e115dd0bb34eee4d281a4fb6416e88cfff"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 14:59:20 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 14:59:20 2010 -0700"
      },
      "message": "tcp: Mark v6 response packets as CHECKSUM_PARTIAL\n\nOtherwise we only get the checksum right for data-less TCP responses.\n\nNoticed by Herbert Xu.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f71b70e115dd0bb34eee4d281a4fb6416e88cfff",
      "tree": "60211922a5cd776a5072babd8d930f687bd9d7c6",
      "parents": [
        "87eb367003887cdc81a5d183efea227b5b488961"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:57:01 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:57:01 2010 -0700"
      },
      "message": "tcp: Fix ipv6 checksumming on response packets for real.\n\nCommit 6651ffc8e8bdd5fb4b7d1867c6cfebb4f309512c\n(\"ipv6: Fix tcp_v6_send_response transport header setting.\")\nfixed one half of why ipv6 tcp response checksums were\ninvalid, but it\u0027s not the whole story.\n\nIf we\u0027re going to use CHECKSUM_PARTIAL for these things (which we are\nsince commit 2e8e18ef52e7dd1af0a3bd1f7d990a1d0b249586 \"tcp: Set\nCHECKSUM_UNNECESSARY in tcp_init_nondata_skb\"), we can\u0027t be setting\nbuff-\u003ecsum as we always have been here in tcp_v6_send_response.  We\nneed to leave it at zero.\n\nKill that line and checksums are good again.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "05d17608a69b3ae653ea5c9857283bef3439c733",
      "tree": "89f847bb0a1107f621387c64f332b2a25e8829b5",
      "parents": [
        "e04997b13a2c2fc93af970fe95fd29a74db113e8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 20 00:25:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:09:44 2010 -0700"
      },
      "message": "net: Fix an RCU warning in dev_pick_tx()\n\nFix the following RCU warning in dev_pick_tx():\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: suspicious rcu_dereference_check() usage. ]\n---------------------------------------------------\nnet/core/dev.c:1993 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 0\n2 locks held by swapper/0:\n #0:  (\u0026idev-\u003emc_ifc_timer){+.-...}, at: [\u003cffffffff81039e65\u003e] run_timer_softirq+0x17b/0x278\n #1:  (rcu_read_lock_bh){.+....}, at: [\u003cffffffff812ea3eb\u003e] dev_queue_xmit+0x14e/0x4dc\n\nstack backtrace:\nPid: 0, comm: swapper Not tainted 2.6.34-rc5-cachefs #4\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff810516c4\u003e] lockdep_rcu_dereference+0xaa/0xb2\n [\u003cffffffff812ea4f6\u003e] dev_queue_xmit+0x259/0x4dc\n [\u003cffffffff812ea3eb\u003e] ? dev_queue_xmit+0x14e/0x4dc\n [\u003cffffffff81052324\u003e] ? trace_hardirqs_on+0xd/0xf\n [\u003cffffffff81035362\u003e] ? local_bh_enable_ip+0xbc/0xc1\n [\u003cffffffff812f0954\u003e] neigh_resolve_output+0x24b/0x27c\n [\u003cffffffff8134f673\u003e] ip6_output_finish+0x7c/0xb4\n [\u003cffffffff81350c34\u003e] ip6_output2+0x256/0x261\n [\u003cffffffff81052324\u003e] ? trace_hardirqs_on+0xd/0xf\n [\u003cffffffff813517fb\u003e] ip6_output+0xbbc/0xbcb\n [\u003cffffffff8135bc5d\u003e] ? fib6_force_start_gc+0x2b/0x2d\n [\u003cffffffff81368acb\u003e] mld_sendpack+0x273/0x39d\n [\u003cffffffff81368858\u003e] ? mld_sendpack+0x0/0x39d\n [\u003cffffffff81052099\u003e] ? mark_held_locks+0x52/0x70\n [\u003cffffffff813692fc\u003e] mld_ifc_timer_expire+0x24f/0x288\n [\u003cffffffff81039ed6\u003e] run_timer_softirq+0x1ec/0x278\n [\u003cffffffff81039e65\u003e] ? run_timer_softirq+0x17b/0x278\n [\u003cffffffff813690ad\u003e] ? mld_ifc_timer_expire+0x0/0x288\n [\u003cffffffff81035531\u003e] ? __do_softirq+0x69/0x140\n [\u003cffffffff8103556a\u003e] __do_softirq+0xa2/0x140\n [\u003cffffffff81002e0c\u003e] call_softirq+0x1c/0x28\n [\u003cffffffff81004b54\u003e] do_softirq+0x38/0x80\n [\u003cffffffff81034f06\u003e] irq_exit+0x45/0x47\n [\u003cffffffff810177c3\u003e] smp_apic_timer_interrupt+0x88/0x96\n [\u003cffffffff810028d3\u003e] apic_timer_interrupt+0x13/0x20\n \u003cEOI\u003e  [\u003cffffffff810488dd\u003e] ? __atomic_notifier_call_chain+0x0/0x86\n [\u003cffffffff810096bf\u003e] ? mwait_idle+0x6e/0x78\n [\u003cffffffff810096b6\u003e] ? mwait_idle+0x65/0x78\n [\u003cffffffff810011cb\u003e] cpu_idle+0x4d/0x83\n [\u003cffffffff81380b05\u003e] rest_init+0xb9/0xc0\n [\u003cffffffff81380a4c\u003e] ? rest_init+0x0/0xc0\n [\u003cffffffff8168dcf0\u003e] start_kernel+0x392/0x39d\n [\u003cffffffff8168d2a3\u003e] x86_64_start_reservations+0xb3/0xb7\n [\u003cffffffff8168d38b\u003e] x86_64_start_kernel+0xe4/0xeb\n\nAn rcu_dereference() should be an rcu_dereference_bh().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e04997b13a2c2fc93af970fe95fd29a74db113e8",
      "tree": "a84ec3368edc3c2568a0d6acdfa0d0e50d8cacf7",
      "parents": [
        "6651ffc8e8bdd5fb4b7d1867c6cfebb4f309512c",
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 00:50:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 00:50:39 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "6651ffc8e8bdd5fb4b7d1867c6cfebb4f309512c",
      "tree": "e2add54e43e43c36fd3cff6fdd4890c98a83c60b",
      "parents": [
        "8eabf95cb17253a3ac72b1a62ce8a80b3efecd62"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Apr 21 00:47:15 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 00:47:15 2010 -0700"
      },
      "message": "ipv6: Fix tcp_v6_send_response transport header setting.\n\nMy recent patch to remove the open-coded checksum sequence in\ntcp_v6_send_response broke it as we did not set the transport\nheader pointer on the new packet.\n\nActually, there is code there trying to set the transport\nheader properly, but it sets it for the wrong skb (\u0027skb\u0027\ninstead of \u0027buff\u0027).\n\nThis bug was introduced by commit\na8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb (\"ipv6: Fix\ntcp_v6_send_response(): it didn\u0027t set skb transport header\")\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
      "tree": "76508ab431133ca9a085a9e3fa62fbfed607c9fb",
      "parents": [
        "0eae88f31ca2b88911ce843452054139e028771f"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "message": "net: Remove two unnecessary exports (skbuff).\n\nThere is no need to export skb_under_panic() and skb_over_panic() in\nskbuff.c, since these methods are used only in skbuff.c ; this patch\nremoves these two exports. It also marks these functions as \u0027static\u0027\nand removeS the extern declarations of them from\ninclude/linux/skbuff.h\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eae88f31ca2b88911ce843452054139e028771f",
      "tree": "90f50197d8e1e50e3621e9c525bd4ca2634fe368",
      "parents": [
        "cb903bf4ee2d6e53210e2174d363e10698112042"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 19:06:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 19:06:52 2010 -0700"
      },
      "message": "net: Fix various endianness glitches\n\nSparse can help us find endianness bugs, but we need to make some\ncleanups to be able to more easily spot real bugs.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8eabf95cb17253a3ac72b1a62ce8a80b3efecd62",
      "tree": "bed6cb45424195ce5dae4c92948e69cd04786e5d",
      "parents": [
        "e46754f8c9333170f11780d8e3a70da1b1a88338"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 03:20:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 18:51:57 2010 -0700"
      },
      "message": "bridge: add a missing ntohs()\n\ngrec_nsrcs is in network order, we should convert to host horder in\nbr_multicast_igmp3_report()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e46754f8c9333170f11780d8e3a70da1b1a88338",
      "tree": "9b7ac1c7cb4c147c69767908c6dcb7633fb03f12",
      "parents": [
        "ef9e83c1ab2981769f16e626179dd56895041b38",
        "fe6f212ce12341df18ef9b890bea739b4547157b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 17:57:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 17:57:56 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7bdfcaaff5de368a88a4f784f7283b66c17d051d",
      "tree": "f871cfa0a3aeb06f184e884a084b944b0c92480f",
      "parents": [
        "58b5190e740241b33fcd901855436aa5d0c5e087"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Apr 20 13:15:56 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:52:40 2010 -0400"
      },
      "message": "mac80211: Fix ieee80211_sta_conn_mon_timer with hw connection monitoring\n\nWhen IEEE80211_HW_CONNECTION_MONITOR is configured by the driver, starting\nof ieee80211_sta_conn_mon_timer should be prevented, as it is then not needed.\n\nThis is currently partially the case. As it seems, when a probe-response is\nreceived from the AP the timer is still restarted, thus restarting the host\nbased connection keep-alive mechanism. These probe-responses happen at least\nwhen scanning while associated.\n\nFix this by preventing starting of the ieee80211_sta_conn_mon_timer in the\nieee80211_rx_mgmt_probe_resp function.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1289723ef238908ca8d95ff48a46ee0de970f882",
      "tree": "b4d584aee8abcc33dec2039fb45112156d3cd3d0",
      "parents": [
        "03ceedea972a82d343fa5c2528b3952fa9e615d5"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "holgerschurig@gmail.com",
        "time": "Mon Apr 19 10:23:57 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:50:52 2010 -0400"
      },
      "message": "mac80211: sample survey implementation for mac80211 \u0026 hwsim\n\nThis adds the survey function to both mac80211 itself and to mac80211_hwsim.\nFor the latter driver, we simply invent some noise level.A real driver which\ncannot determine the real channel noise MUST NOT report any noise, especially\nnot a magically conjured one :-)\n\nSigned-off-by: Holger Schurig \u003cholgerschurig@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "03ceedea972a82d343fa5c2528b3952fa9e615d5",
      "tree": "7b46f62e4fd82e969bc1cea1999249d25234e330",
      "parents": [
        "e8958330190c57c0d32bee88b64a12de2f58059f"
      ],
      "author": {
        "name": "Daniel Yingqiang Ma",
        "email": "yma.cool@gmail.com",
        "time": "Tue Apr 13 15:12:07 2010 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:50:51 2010 -0400"
      },
      "message": "ath9k: Group Key fix for VAPs\n\nWhen I set up multiple VAPs with ath9k, I encountered an issue that\nthe traffic may be lost after a while.\n\nThe detailed phenomenon is\n1. After a while the clients connected to one of these VAPs will get\ninto a state that no broadcast/multicast packets can be transfered\nsuccessfully while the unicast packets can be transfered normally.\n2. Minutes latter the unitcast packets transfer will fail as well,\nbecause the ARP entry is expired and it can\u0027t be freshed due to the\nbroadcast trouble.\n\nIt\u0027s caused by the group key overwritten and someone discussed this\nissue in ath9k-devel maillist before, but haven\u0027t work out a fix yet.\n\nI referred the method in madwifi, and made a patch for ath9k.\nThe method is to set the high bit of the sender(AP)\u0027s address, and\nassociated that mac and the group key. It requires the hardware\nsupports multicast frame key search. It seems true for AR9160.\n\nNot sure whether it\u0027s the correct way to fix this issue. But it seems\nto work in my test. The patch is attached, feel free to revise it.\n\nSigned-off-by: Daniel Yingqiang ma \u003cyma.cool@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab9304717f7624c41927f442e6b6d418b2d8b3e4",
      "tree": "1ade11020c85e201b54caad9e929fc795d99487e",
      "parents": [
        "b249dcb82d327e419d3cb45773b146ebb5faf419"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Apr 20 01:45:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 01:45:37 2010 -0700"
      },
      "message": "net: emphasize rtnl lock required in call_netdevice_notifiers\n\nSince netdev_chain is guarded by rtnl_lock, ASSERT_RTNL should be\npresent here to make sure that all callers of call_netdevice_notifiers\ndoes the locking properly.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b249dcb82d327e419d3cb45773b146ebb5faf419",
      "tree": "3424eac7e208c03a49ad182685f1ba3c836628b8",
      "parents": [
        "e36fa2f7e92f25aab2e3d787dcfe3590817f19d3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 21:56:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 01:18:06 2010 -0700"
      },
      "message": "rps: consistent rxhash\n\nIn case we compute a software skb-\u003erxhash, we can generate a consistent\nhash : Its value will be the same in both flow directions.\n\nThis helps some workloads, like conntracking, since the same state needs\nto be accessed in both directions.\n\ntbench + RFS + this patch gives better results than tbench with default\nkernel configuration (no RPS, no RFS)\n\nAlso fixed some sparse warnings.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e36fa2f7e92f25aab2e3d787dcfe3590817f19d3",
      "tree": "b1bd60b14131dacc72a80efbd2f062935cc43e25",
      "parents": [
        "f5acb907dc24c3822f408211bad1cd6e5d0433cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 21:17:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 01:18:05 2010 -0700"
      },
      "message": "rps: cleanups\n\nstruct softnet_data holds many queues, so consistent use \"sd\" name\ninstead of \"queue\" is better.\n\nAdds a rps_ipi_queued() helper to cleanup enqueue_to_backlog()\n\nAdds a _and_irq_disable suffix to net_rps_action() name, as David\nsuggested.\n\nincr_input_queue_head() becomes input_queue_head_incr()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5acb907dc24c3822f408211bad1cd6e5d0433cf",
      "tree": "ce9d107b1043091ebcd574d28a57f0162a129e76",
      "parents": [
        "88751275b8e867d756e4f86ae92afe0232de129f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 14:40:57 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 19 14:40:57 2010 -0700"
      },
      "message": "rps: static functions\n\nstore_rps_map() \u0026 store_rps_dev_flow_table_cnt() are static.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67e0f392779e35a96c43bc240ef5d30a701d153e",
      "tree": "637fd3aed6aa2769fb434f4732da5e70d4e1a4df",
      "parents": [
        "088899c43ce8bc54c6de519e4b1a1fc41b95867e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 19 11:03:13 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:45:20 2010 -0400"
      },
      "message": "mac80211: add missing newline\n\nOne HT debugging printk is missing a newline,\nadd it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3393a608c4979a94d1887efc05b792849d361a65",
      "tree": "0aceeb1e67fd23f82844086fcc5fb6c16b24dafc",
      "parents": [
        "2aab4c273ad837fbcf2955aee32b9ec4706c2521"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Mon Apr 19 10:12:52 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:41:42 2010 -0400"
      },
      "message": "mac80211: Prevent running sta_cleanup timer unnecessarily\n\nThe sta_cleanup timer is used to periodically expire buffered frames from the\ntx buf. The timer is executing periodically, regardless of the need for it.\nThis is wasting resources.\n\nFix this simply by not restarting the sta_cleanup timer if the tx buffer was\nempty. Restart the timer when there is some more tx-traffic.\n\nCc: Janne Ylälehto \u003cjanne.ylalehto@nokia.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2aab4c273ad837fbcf2955aee32b9ec4706c2521",
      "tree": "d2457aa623177d2b7c18b35a81f91ac268699999",
      "parents": [
        "93d95b12b3ba06e0e1f3e43a370ee61539d8cb90"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 19 11:00:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:41:42 2010 -0400"
      },
      "message": "mac80211: fix stopping RX BA session from timer\n\nKalle reported that his system deadlocks since my\nrecent work in this area. The reason quickly became\napparent: we try to cancel_timer_sync() a timer\nfrom within itself. Fix that by making the function\naware of the context it is called from.\n\nReported-by: Kalle Valo \u003ckvalo@adurom.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Kalle Valo \u003ckvalo@adurom.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fe6f212ce12341df18ef9b890bea739b4547157b",
      "tree": "a8ac4d32c86d590b28e39866b1533d4a1b4ac1ba",
      "parents": [
        "b4bb5c3fd9333024044362df67e23e96158489ed"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@intel.com",
        "time": "Mon Apr 19 10:46:31 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:34:11 2010 -0400"
      },
      "message": "mac80211: pass HT changes to driver when off channel\n\nSince \"mac80211: make off-channel work generic\" drivers have not been\nnotified of configuration changes after association or authentication. This\ncaused more dependence on current state to ensure driver will be notified\nwhen configuration changes occur. One such problem arises if off-channel is\nin progress when HT information changes. Since HT is only enabled on the\n\"oper_channel\" the driver will never be notified of this change. Usually\nthe driver is notified soon after of a BSS information change\n(BSS_CHANGED_HT) ... but since the driver did not get a notification that\nthis is a HT channel the new BSS information does not make sense.\n\nFix this by also changing the off-channel information when HT is enabled\nand thus cause driver to be notified correctly.\n\nThis fixes a problem in 4965 when associated with 5GHz 40MHz channel.\nWithout this patch the system can associate but is unable to transfer any\ndata, not even ping.\n\nSee http://bugzilla.intellinuxwireless.org/show_bug.cgi?id\u003d2158\n\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4bb5c3fd9333024044362df67e23e96158489ed",
      "tree": "180405311d50e63ac6f6dd67eefefeb2c2c110bc",
      "parents": [
        "f2fa1b015e9c199e45c836c769d94db595150731"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 19 10:48:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:34:11 2010 -0400"
      },
      "message": "mac80211: remove bogus TX agg state assignment\n\nWhen the addba timer expires but has no work to do,\nit should not affect the state machine. If it does,\nTX will not see the successfully established and we\ncan also crash trying to re-establish the session.\n\nCc: stable@kernel.org [2.6.32, 2.6.33]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "88751275b8e867d756e4f86ae92afe0232de129f",
      "tree": "011913d98eb65f5e90981da0275c2f5a07c2bee1",
      "parents": [
        "a03b1a5c95e8bcb07512122995bbf5bd3c39f2b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 05:07:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 19 13:20:34 2010 -0700"
      },
      "message": "rps: shortcut net_rps_action()\n\nnet_rps_action() is a bit expensive on NR_CPUS\u003d64..4096 kernels, even if\nRPS is not active.\n\nTom Herbert used two bitmasks to hold information needed to send IPI,\nbut a single LIFO list seems more appropriate.\n\nMove all RPS logic into net_rps_action() to cleanup net_rx_action() code\n(remove two ifdefs)\n\nMove rps_remote_softirq_cpus into softnet_data to share its first cache\nline, filling an existing hole.\n\nIn a future patch, we could call net_rps_action() from process_backlog()\nto make sure we send IPI before handling this cpu backlog.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "375db4810b27306ea400ab39d3d6f7a063ac9ff6",
      "tree": "f2cb778036dbfcade394c9e5ad94a69137fd352c",
      "parents": [
        "73c6c7fbb74d07a80fee41ce4ca3976547519e42",
        "b91ecb0027c7171c83d7cf443a22c39b1fde6d83"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 07:27:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 07:27:45 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  gigaset: include cleanup cleanup\n  packet : remove init_net restriction\n  WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver.\n  ip: Fix ip_dev_loopback_xmit()\n  net: dev_pick_tx() fix\n  fib: suppress lockdep-RCU false positive in FIB trie.\n  tun: orphan an skb on tx\n  forcedeth: fix tx limit2 flag check\n  iwlwifi: work around bogus active chains detection\n"
    },
    {
      "commit": "fc6055a5ba31e2c14e36e8939f9bf2b6d586a7f5",
      "tree": "b55954230d0d849d1f7b0517ced4cc1ee6fd8157",
      "parents": [
        "9958da0501fced47c1ac5c5a3a7731c87e45472c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 16 12:18:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 18 02:39:41 2010 -0700"
      },
      "message": "net: Introduce skb_orphan_try()\n\nTransmitted skb might be attached to a socket and a destructor, for\nmemory accounting purposes.\n\nTraditionally, this destructor is called at tx completion time, when skb\nis freed.\n\nWhen tx completion is performed by another cpu than the sender, this\nforces some cache lines to change ownership. XPS was an attempt to give\ntx completion to initial cpu.\n\nDavid idea is to call destructor right before giving skb to device (call\nto ndo_start_xmit()). Because device queues are usually small, orphaning\nskb before tx completion is not a big deal. Some drivers already do\nthis, we could do it in upper level.\n\nThere is one known exception to this early orphaning, called tx\ntimestamping. It needs to keep a reference to socket until device can\ngive a hardware or software timestamp.\n\nThis patch adds a skb_orphan_try() helper, to centralize all exceptions\nto early orphaning in one spot, and use it in dev_hard_start_xmit().\n\n\"tbench 16\" results on a Nehalem machine (2 X5570  @ 2.93GHz)\nbefore: Throughput 4428.9 MB/sec 16 procs\nafter: Throughput 4448.14 MB/sec 16 procs\n\nUDP should get even better results, its destructor being more complex,\nsince SOCK_USE_WRITE_QUEUE is not set (four atomic ops instead of one)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9958da0501fced47c1ac5c5a3a7731c87e45472c",
      "tree": "5f865cabb794281244a4df4d604fd6f5ab33f84e",
      "parents": [
        "8770acf0494ae06de6abd34f951a436f8f15d1de"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Apr 17 04:17:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 18 02:36:13 2010 -0700"
      },
      "message": "net: remove time limit in process_backlog()\n\n- There is no point to enforce a time limit in process_backlog(), since\nother napi instances dont follow same rule. We can exit after only one\npacket processed...\nThe normal quota of 64 packets per napi instance should be the norm, and\nnet_rx_action() already has its own time limit.\nNote : /proc/net/core/dev_weight can be used to tune this 64 default\nvalue.\n\n- Use DEFINE_PER_CPU_ALIGNED for softnet_data definition.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8770acf0494ae06de6abd34f951a436f8f15d1de",
      "tree": "ebac976a757e9b9b7a01891b2e7f45e4665b6c0f",
      "parents": [
        "fec5e652e58fa6017b2c9e06466cb2a6538de5b4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Apr 17 00:54:36 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 17 00:54:36 2010 -0700"
      },
      "message": "rps: rps_sock_flow_table is mostly read\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fec5e652e58fa6017b2c9e06466cb2a6538de5b4",
      "tree": "e034f2a1e7930a0a225bd30896f834ec5e09c084",
      "parents": [
        "b5d43998234331b9c01bd2165fdbb25115f4387f"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "message": "rfs: Receive Flow Steering\n\nThis patch implements receive flow steering (RFS).  RFS steers\nreceived packets for layer 3 and 4 processing to the CPU where\nthe application for the corresponding flow is running.  RFS is an\nextension of Receive Packet Steering (RPS).\n\nThe basic idea of RFS is that when an application calls recvmsg\n(or sendmsg) the application\u0027s running CPU is stored in a hash\ntable that is indexed by the connection\u0027s rxhash which is stored in\nthe socket structure.  The rxhash is passed in skb\u0027s received on\nthe connection from netif_receive_skb.  For each received packet,\nthe associated rxhash is used to look up the CPU in the hash table,\nif a valid CPU is set then the packet is steered to that CPU using\nthe RPS mechanisms.\n\nThe convolution of the simple approach is that it would potentially\nallow OOO packets.  If threads are thrashing around CPUs or multiple\nthreads are trying to read from the same sockets, a quickly changing\nCPU value in the hash table could cause rampant OOO packets--\nwe consider this a non-starter.\n\nTo avoid OOO packets, this solution implements two types of hash\ntables: rps_sock_flow_table and rps_dev_flow_table.\n\nrps_sock_table is a global hash table.  Each entry is just a CPU\nnumber and it is populated in recvmsg and sendmsg as described above.\nThis table contains the \"desired\" CPUs for flows.\n\nrps_dev_flow_table is specific to each device queue.  Each entry\ncontains a CPU and a tail queue counter.  The CPU is the \"current\"\nCPU for a matching flow.  The tail queue counter holds the value\nof a tail queue counter for the associated CPU\u0027s backlog queue at\nthe time of last enqueue for a flow matching the entry.\n\nEach backlog queue has a queue head counter which is incremented\non dequeue, and so a queue tail counter is computed as queue head\ncount + queue length.  When a packet is enqueued on a backlog queue,\nthe current value of the queue tail counter is saved in the hash\nentry of the rps_dev_flow_table.\n\nAnd now the trick: when selecting the CPU for RPS (get_rps_cpu)\nthe rps_sock_flow table and the rps_dev_flow table for the RX queue\nare consulted.  When the desired CPU for the flow (found in the\nrps_sock_flow table) does not match the current CPU (found in the\nrps_dev_flow table), the current CPU is changed to the desired CPU\nif one of the following is true:\n\n- The current CPU is unset (equal to RPS_NO_CPU)\n- Current CPU is offline\n- The current CPU\u0027s queue head counter \u003e\u003d queue tail counter in the\nrps_dev_flow table.  This checks if the queue tail has advanced\nbeyond the last packet that was enqueued using this table entry.\nThis guarantees that all packets queued using this entry have been\ndequeued, thus preserving in order delivery.\n\nMaking each queue have its own rps_dev_flow table has two advantages:\n1) the tail queue counters will be written on each receive, so\nkeeping the table local to interrupting CPU s good for locality.  2)\nthis allows lockless access to the table-- the CPU number and queue\ntail counter need to be accessed together under mutual exclusion\nfrom netif_receive_skb, we assume that this is only called from\ndevice napi_poll which is non-reentrant.\n\nThis patch implements RFS for TCP and connected UDP sockets.\nIt should be usable for other flow oriented protocols.\n\nThere are two configuration parameters for RFS.  The\n\"rps_flow_entries\" kernel init parameter sets the number of\nentries in the rps_sock_flow_table, the per rxqueue sysfs entry\n\"rps_flow_cnt\" contains the number of entries in the rps_dev_flow\ntable for the rxqueue.  Both are rounded to power of two.\n\nThe obvious benefit of RFS (over just RPS) is that it achieves\nCPU locality between the receive processing for a flow and the\napplications processing; this can result in increased performance\n(higher pps, lower latency).\n\nThe benefits of RFS are dependent on cache hierarchy, application\nload, and other factors.  On simple benchmarks, we don\u0027t necessarily\nsee improvement and sometimes see degradation.  However, for more\ncomplex benchmarks and for applications where cache pressure is\nmuch higher this technique seems to perform very well.\n\nBelow are some benchmark results which show the potential benfit of\nthis patch.  The netperf test has 500 instances of netperf TCP_RR\ntest with 1 byte req. and resp.  The RPC test is an request/response\ntest similar in structure to netperf RR test ith 100 threads on\neach host, but does more work in userspace that netperf.\n\ne1000e on 8 core Intel\n   No RFS or RPS\t\t104K tps at 30% CPU\n   No RFS (best RPS config):    290K tps at 63% CPU\n   RFS\t\t\t\t303K tps at 61% CPU\n\nRPC test\ttps\tCPU%\t50/90/99% usec latency\tLatency StdDev\n  No RFS/RPS\t103K\t48%\t757/900/3185\t\t4472.35\n  RPS only:\t174K\t73%\t415/993/2468\t\t491.66\n  RFS\t\t223K\t73%\t379/651/1382\t\t315.61\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c4f0197323254e463b642abf2c8361e2a924859",
      "tree": "5dc70f6fc0baabe81f50fec965dd0d66dd772a21",
      "parents": [
        "31f634a63de7068c6a5dcb0d7b09b24b61a5cf88"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Apr 14 23:11:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 15:41:04 2010 -0700"
      },
      "message": "packet : remove init_net restriction\n\nThe af_packet protocol is used by Perl to do ioctls as reported by\nStephane Riviere:\n\n\"Net::RawIP relies on SIOCGIFADDR et SIOCGIFHWADDR to get the IP and MAC\naddresses of the network interface.\"\n\nBut in a new network namespace these ioctl fail because it is disabled for\na namespace different from the init_net_ns.\n\nThese two lines should not be there as af_inet and af_packet are\nnamespace aware since a long time now. I suppose we forget to remove these\nlines because we sent the af_packet first, before af_inet was supported.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nReported-by: Stephane Riviere \u003cstephane.riviere@regis-dgac.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7834704be4777fc0ed67c4486ef8c5691078d135",
      "tree": "564172ac8ae0a31bb47d4a22d2bad043ed9bad8d",
      "parents": [
        "61c2a80b960361a930a4e3c4c0df694713b9dafd"
      ],
      "author": {
        "name": "Nishant Sarmukadam",
        "email": "nishants@marvell.com",
        "time": "Wed Apr 14 22:03:02 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 16 15:32:00 2010 -0400"
      },
      "message": "cfg80211: Avoid sending IWEVASSOCREQIE and IWEVASSOCRESPIE events with NULL event body\n\nIn a scenario, where a cfg80211 driver (station mode) does not send assoc request\nand assoc response IEs in cfg80211_connect_result after a successful association\nto an AP, cfg80211 sends IWEVASSOCREQIE and IWEVASSOCRESPIE to the user space\napplication with NULL data. This can cause an issue at the event recipient.\n\nAn example of this is when cfg80211 sends IWEVASSOCREQIE and IWEVASSOCRESPIE\nevents with NULL event body to wpa_supplicant. The wpa_supplicant overwrites\nthe assoc request and assoc response IEs for this station with NULL data.\nIf the association is WPA/WPA2, the wpa_supplicant is not able to generate\nEAPOL handshake messages, since the IEs are NULL.\n\nWith the patch, req_ie and resp_ie will be NULL by avoiding the\nassignment if the driver has not sent the IEs to cfg80211. The event sending\ncode sends the events only if resp_ie and req_ie are not NULL. This\nwill ensure that the events are not sent with NULL event body.\n\nSigned-off-by: Nishant Sarmukadam \u003cnishants@marvell.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b5d43998234331b9c01bd2165fdbb25115f4387f",
      "tree": "39077b6e097c65cfcee6475f9903071f96b2b09a",
      "parents": [
        "4e15ed4d930297c127d280ca1d0c785be870def4"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Apr 15 16:48:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 23:36:38 2010 -0700"
      },
      "message": "ipv6: fix the comment of ip6_xmit()\n\nip6_xmit() is used by upper transport protocol.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e15ed4d930297c127d280ca1d0c785be870def4",
      "tree": "e0808d650ae66cf273758496100d3d24739a9e48",
      "parents": [
        "0eecb784942792863b77dfe11e0c7e286e92db85"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Apr 15 16:43:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 23:36:37 2010 -0700"
      },
      "message": "net: replace ipfragok with skb-\u003elocal_df\n\nAs Herbert Xu said: we should be able to simply replace ipfragok\nwith skb-\u003elocal_df. commit f88037(sctp: Drop ipfargok in sctp_xmit function)\nhas droped ipfragok and set local_df value properly.\n\nThe patch kills the ipfragok parameter of .queue_xmit().\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eecb784942792863b77dfe11e0c7e286e92db85",
      "tree": "09e1665e1f5e6d740e673d66696018d98303c749",
      "parents": [
        "a4fbf8415c462208e77251779d80dbc81914cebd"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Apr 15 16:39:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 23:36:37 2010 -0700"
      },
      "message": "ipv6: cancel to setting local_df in ip6_xmit()\n\ncommit f88037(sctp: Drop ipfargok in sctp_xmit function)\nhas droped ipfragok and set local_df value properly.\n\nSo the change of commit 77e2f1(ipv6: Fix ip6_xmit to\nsend fragments if ipfragok is true) is not needed.\nSo the patch remove them.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4fbf8415c462208e77251779d80dbc81914cebd",
      "tree": "b011c6e12663cb540a7bc829b1049217842a35ae",
      "parents": [
        "3eb14b944f2b5b6efe4e0ae3fe9601db78437d57"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Apr 15 15:37:13 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 15:37:13 2010 -0700"
      },
      "message": "net/l2tp/l2tp_debugfs.c: Convert NIPQUAD to %pI4\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3eb14b944f2b5b6efe4e0ae3fe9601db78437d57",
      "tree": "bea3d9ce130de0a73504ab94882115004b826fd6",
      "parents": [
        "791f58c0640f906d3f63518d3f02630dbbafb7a2",
        "5c01d5669356e13f0fb468944c1dd4c6a7e978ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:31:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:31:06 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": "e30b38c298b55e09456d3ccbc1df2f3e2e8dc6e9",
      "tree": "53511f6512335d9cc009593f5c820957f8aa6185",
      "parents": [
        "8728c544a9cbdcb0034aa5c45706c5f953f030ee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 15 09:13:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:25:22 2010 -0700"
      },
      "message": "ip: Fix ip_dev_loopback_xmit()\n\nEric Paris got following trace with a linux-next kernel\n\n[   14.203970] BUG: using smp_processor_id() in preemptible [00000000]\ncode: avahi-daemon/2093\n[   14.204025] caller is netif_rx+0xfa/0x110\n[   14.204035] Call Trace:\n[   14.204064]  [\u003cffffffff81278fe5\u003e] debug_smp_processor_id+0x105/0x110\n[   14.204070]  [\u003cffffffff8142163a\u003e] netif_rx+0xfa/0x110\n[   14.204090]  [\u003cffffffff8145b631\u003e] ip_dev_loopback_xmit+0x71/0xa0\n[   14.204095]  [\u003cffffffff8145b892\u003e] ip_mc_output+0x192/0x2c0\n[   14.204099]  [\u003cffffffff8145d610\u003e] ip_local_out+0x20/0x30\n[   14.204105]  [\u003cffffffff8145d8ad\u003e] ip_push_pending_frames+0x28d/0x3d0\n[   14.204119]  [\u003cffffffff8147f1cc\u003e] udp_push_pending_frames+0x14c/0x400\n[   14.204125]  [\u003cffffffff814803fc\u003e] udp_sendmsg+0x39c/0x790\n[   14.204137]  [\u003cffffffff814891d5\u003e] inet_sendmsg+0x45/0x80\n[   14.204149]  [\u003cffffffff8140af91\u003e] sock_sendmsg+0xf1/0x110\n[   14.204189]  [\u003cffffffff8140dc6c\u003e] sys_sendmsg+0x20c/0x380\n[   14.204233]  [\u003cffffffff8100ad82\u003e] system_call_fastpath+0x16/0x1b\n\nWhile current linux-2.6 kernel doesnt emit this warning, bug is latent\nand might cause unexpected failures.\n\nip_dev_loopback_xmit() runs in process context, preemption enabled, so\nmust call netif_rx_ni() instead of netif_rx(), to make sure that we\nprocess pending software interrupt.\n\nSame change for ip6_dev_loopback_xmit()\n\nReported-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "791f58c0640f906d3f63518d3f02630dbbafb7a2",
      "tree": "b2dbe627ee54b6676946075ff0ef7aa9401f8950",
      "parents": [
        "fd793d8905720595caede6bd26c5df6c0ecd37f8",
        "8de53dfbf9a0a0f7538c005137059c5c021476e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:14:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:14:05 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "5c01d5669356e13f0fb468944c1dd4c6a7e978ad",
      "tree": "fa43345288d7b25fac92b3b35360a177c4947313",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8",
        "a5e944f1d955f3819503348426763e21e0413ba6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 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\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n"
    },
    {
      "commit": "8de53dfbf9a0a0f7538c005137059c5c021476e1",
      "tree": "51fbba0b36a24feac02fa76d4deaecfcdece7c7f",
      "parents": [
        "b0ebb739a8f68039f03e80b3476b204fe5adf0d7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:29:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:31:29 2010 +0200"
      },
      "message": "ipv4: ipmr: fix NULL pointer deref during unres queue destruction\n\nFix an oversight in ipmr_destroy_unres() - the net pointer is\nunconditionally initialized to NULL, resulting in a NULL pointer\ndereference later on.\n\nFix by adding a net pointer to struct mr_table and using it in\nipmr_destroy_unres().\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b0ebb739a8f68039f03e80b3476b204fe5adf0d7",
      "tree": "45921e2969657f6a35fbac751218ea78e1f3be9b",
      "parents": [
        "66496d4973dcb848d163805fa6b485850b7555e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:29:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:31:29 2010 +0200"
      },
      "message": "ipv4: ipmr: fix invalid cache resolving when adding a non-matching entry\n\nThe patch to convert struct mfc_cache to list_heads (ipv4: ipmr: convert\nstruct mfc_cache to struct list_head) introduced a bug when adding new\ncache entries that don\u0027t match any unresolved entries.\n\nThe unres queue is searched for a matching entry, which is then resolved.\nWhen no matching entry is present, the iterator points to the head of the\nlist, but is treated as a matching entry. Use a seperate variable to\nindicate that a matching entry was found.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "66496d4973dcb848d163805fa6b485850b7555e3",
      "tree": "161f6f6d3b93a459fce68a7943f6b12a474096d8",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:29:27 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 13:31:29 2010 +0200"
      },
      "message": "ipv4: ipmr: fix IP_MROUTE_MULTIPLE_TABLES Kconfig dependencies\n\nIP_MROUTE_MULTIPLE_TABLES should depend on IP_MROUTE.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8728c544a9cbdcb0034aa5c45706c5f953f030ee",
      "tree": "81fa8933b6769983063db89da3242aabbf816135",
      "parents": [
        "4eaa0e3c869acd5dbc7c2e3818a9ae9cbf221d27"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 11 21:18:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 01:27:11 2010 -0700"
      },
      "message": "net: dev_pick_tx() fix\n\nWhen dev_pick_tx() caches tx queue_index on a socket, we must check\nsocket dst_entry matches skb one, or risk a crash later, as reported by\nDenys Fedorysychenko, if old packets are in flight during a route\nchange, involving devices with different number of queues.\n\nBug introduced by commit a4ee3ce3\n(net: Use sk_tx_queue_mapping for connected sockets)\n\nReported-by: Denys Fedorysychenko \u003cnuclearcat@nuclearcat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e28f1effd1d840b36e961edc1def81e01b1ca1",
      "tree": "41e4299d3039dda9e3977c1a8625d09554e6fe4e",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 15 00:14:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 00:14:07 2010 -0700"
      },
      "message": "net: netif_rx() must disable preemption\n\nEric Paris reported netif_rx() is calling smp_processor_id() from\npreemptible context, in particular when caller is\nip_dev_loopback_xmit().\n\nRPS commit added this smp_processor_id() call, this patch makes sure\npreemption is disabled. rps_get_cpus() wants rcu_read_lock() anyway, we\ncan dot it a bit earlier.\n\nReported-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4eaa0e3c869acd5dbc7c2e3818a9ae9cbf221d27",
      "tree": "7583f360508bd0a01b666fb711d7d1c6e30e2ea9",
      "parents": [
        "0110d6f22f392f976e84ab49da1b42f85b64a3c5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 14 16:13:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 16:13:29 2010 -0700"
      },
      "message": "fib: suppress lockdep-RCU false positive in FIB trie.\n\nFollowup of commit 634a4b20\n\nAllow tnode_get_child_rcu() to be called either under rcu_read_lock()\nprotection or with RTNL held.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dad1e54b121d93ed47690d77736af63d3f11d657",
      "tree": "36fdd29537e43bbb4f36252e010a591ae6fe20bc",
      "parents": [
        "1253332f75f3774cc84d0b7693152656848901f9",
        "0110d6f22f392f976e84ab49da1b42f85b64a3c5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 05:01:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 05:01:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/pcmcia/smc91c92_cs.c\n\tdrivers/net/virtio_net.c\n"
    },
    {
      "commit": "f0ad0860d01e47a3ffd220564c5c653b3afbe962",
      "tree": "91b69423f472b934daa2c18ae3b7ba065b7c7898",
      "parents": [
        "0c12295a741d3186987f96f518cfbdaf01abb087"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:23 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:34 2010 -0700"
      },
      "message": "ipv4: ipmr: support multiple tables\n\nThis patch adds support for multiple independant multicast routing instances,\nnamed \"tables\".\n\nUserspace multicast routing daemons can bind to a specific table instance by\nissuing a setsockopt call using a new option MRT_TABLE. The table number is\nstored in the raw socket data and affects all following ipmr setsockopt(),\ngetsockopt() and ioctl() calls. By default, a single table (RT_TABLE_DEFAULT)\nis created with a default routing rule pointing to it. Newly created pimreg\ndevices have the table number appended (\"pimregX\"), with the exception of\ndevices created in the default table, which are named just \"pimreg\" for\ncompatibility reasons.\n\nPackets are directed to a specific table instance using routing rules,\nsimilar to how regular routing rules work. Currently iif, oif and mark\nare supported as keys, source and destination addresses could be supported\nadditionally.\n\nExample usage:\n\n- bind pimd/xorp/... to a specific table:\n\nuint32_t table \u003d 123;\nsetsockopt(fd, IPPROTO_IP, MRT_TABLE, \u0026table, sizeof(table));\n\n- create routing rules directing packets to the new table:\n\n# ip mrule add iif eth0 lookup 123\n# ip mrule add oif eth0 lookup 123\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c12295a741d3186987f96f518cfbdaf01abb087",
      "tree": "e71d0f5e5193870318e86cd519edf728b1e2a079",
      "parents": [
        "862465f2e7e90975e7bf0ecfbb171dd3adedd950"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:34 2010 -0700"
      },
      "message": "ipv4: ipmr: move mroute data into seperate structure\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "862465f2e7e90975e7bf0ecfbb171dd3adedd950",
      "tree": "281c43f90130cc23eb581c702afaf4ab226dbff5",
      "parents": [
        "d658f8a0e63b6476148162aa7a3ffffc58dcad52"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:33 2010 -0700"
      },
      "message": "ipv4: ipmr: convert struct mfc_cache to struct list_head\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d658f8a0e63b6476148162aa7a3ffffc58dcad52",
      "tree": "25087c18eb91bbe040cf5c9b5e1710d35e37328f",
      "parents": [
        "e258beb22f4d3ea3dc88586ffc9c990d0eb03380"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:33 2010 -0700"
      },
      "message": "ipv4: ipmr: remove net pointer from struct mfc_cache\n\nNow that cache entries in unres_queue don\u0027t need to be distinguished by their\nnetwork namespace pointer anymore, we can remove it from struct mfc_cache\nadd pass the namespace as function argument to the functions that need it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e258beb22f4d3ea3dc88586ffc9c990d0eb03380",
      "tree": "7bd4dc984757894cbfb355189e9172a4a566596c",
      "parents": [
        "f74e49b5613206fb18468bdc9509a1db746aa01b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:32 2010 -0700"
      },
      "message": "ipv4: ipmr: move unres_queue and timer to per-namespace data\n\nThe unres_queue is currently shared between all namespaces. Following patches\nwill additionally allow to create multiple multicast routing tables in each\nnamespace. Having a single shared queue for all these users seems to excessive,\nmove the queue and the cleanup timer to the per-namespace data to unshare it.\n\nAs a side-effect, this fixes a bug in the seq file iteration functions: the\nfirst entry returned is always from the current namespace, entries returned\nafter that may belong to any namespace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f87b1dd01b51dc3c789f7a212656a4a87eee1bd",
      "tree": "2ce87a26afecd5c0400a6e743534a402a6ca8aec",
      "parents": [
        "28bb17268b92b0c568f2496e5e631008f9108409"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:31 2010 -0700"
      },
      "message": "net: fib_rules: decouple address families from real address families\n\nDecouple the address family values used for fib_rules from the real\naddress families in socket.h. This allows to use fib_rules for\ncode that is not a real address family without increasing AF_MAX/NPROTO.\n\nValues up to 127 are reserved for real address families and map directly\nto the corresponding AF value, values starting from 128 are for other\nuses. rtnetlink is changed to invoke the AF_UNSPEC dumpit/doit handlers\nfor these families.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28bb17268b92b0c568f2496e5e631008f9108409",
      "tree": "ba2d619dbb6caf9ad81849e58d7409b790f9539c",
      "parents": [
        "d8a566beaa75c6ad5e38cdccf0ea5294323e7866"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:30 2010 -0700"
      },
      "message": "net: fib_rules: set family in fib_rule_hdr centrally\n\nAll fib_rules implementations need to set the family in their -\u003efill()\nfunctions. Since the value is available to the generic fib_nl_fill_rule()\nfunction, set it there.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8a566beaa75c6ad5e38cdccf0ea5294323e7866",
      "tree": "56fc11f0806e9e869e65c44a697c896add4b78f6",
      "parents": [
        "561155110307ad304226a23272244398fa46cbae"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:30 2010 -0700"
      },
      "message": "net: fib_rules: consolidate IPv4 and DECnet -\u003edefault_pref() functions.\n\nBoth functions are equivalent, consolidate them since a following patch\nneeds a third implementation for multicast routing.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "465de2ba71f5048341e0109f3f6c4d7dc65d9754",
      "tree": "59dbc051958e48859030f31f46b028808ab2681b",
      "parents": [
        "0d0fb0f9c5fddef4a10242fe3337f00f528a3099",
        "a6d37024de02e7cb2b2333e438e71355a9c32a0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 11:32:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 11:32:48 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits)\n  smc91c92_cs: define multicast_table as unsigned char\n  can: avoids a false warning\n  e1000e: stop cleaning when we reach tx_ring-\u003enext_to_use\n  igb: restrict WoL for 82576 ET2 Quad Port Server Adapter\n  virtio_net: missing sg_init_table\n  Revert \"tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb\"\n  iwlwifi: need check for valid qos packet before free\n  tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb\n  udp: fix for unicast RX path optimization\n  myri10ge: fix rx_pause in myri10ge_set_pauseparam\n  net: corrected documentation for hardware time stamping\n  stmmac: use resource_size()\n  x.25 attempts to negotiate invalid throughput\n  x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet.\n  bridge: Fix IGMP3 report parsing\n  cnic: Fix crash during bnx2x MTU change.\n  qlcnic: fix set mac addr\n  r6040: fix r6040_multicast_list\n  vhost-net: fix vq_memory_access_ok error checking\n  ath9k: fix double calls to ath_radio_enable\n  ...\n"
    },
    {
      "commit": "561155110307ad304226a23272244398fa46cbae",
      "tree": "b284f673ba3409b1aed5e6af78233b0a59ce8c9c",
      "parents": [
        "69d7ce72b926d4ceeacd2b7b9ffcbc37ae4b1c58"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 07:38:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 03:32:44 2010 -0700"
      },
      "message": "dst: don\u0027t inline dst_ifdown\n\nThe function dst_ifdown is called only two places but in a non-\nperformance critical code path, there is no reason to inline it.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acbbc07145b919248c410e1852b953d385be5c97",
      "tree": "bafccb1c98540a2e6758df44ef72b6c2d55a2a78",
      "parents": [
        "829e0015431537176e38812f88fffe1d3250083e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 11 06:56:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 03:32:42 2010 -0700"
      },
      "message": "net: uninline skb_bond_should_drop()\n\nskb_bond_should_drop() is too big to be inlined.\n\nThis patch reduces kernel text size, and its compilation time as well\n(shrinking include/linux/netdevice.h)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ffa87012efd7b664762b579213d4663560ef4a3",
      "tree": "37e255f778b1bda29341799b6aa209e62ce69f84",
      "parents": [
        "dac876193cd79ced36d0462749ea47c05844fb49"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 09 23:47:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 03:03:14 2010 -0700"
      },
      "message": "can: avoids a false warning\n\nAt this point optlen \u003d\u003d sizeof(sfilter) but some compilers are dumb.\n\nReported-by: Németh Márton \u003cnm127@freemail.h\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8595805aafc8b077e01804c9a3668e9aa3510e89",
      "tree": "28079955dec368156072596ee77817ba0ef40da9",
      "parents": [
        "d1f84c63a465d6ba16955930519b7f68c550cae1"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:28 2010 -0700"
      },
      "message": "IPv6: only notify protocols if address is compeletely gone\n\nThe notifier for address down should only be called if address is completely\ngone, not just being marked as tentative on link transistion. The code\nin net-next would case bonding/sctp/s390 to see address disappear on link\ndown, but they would never see it reappear on link up.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1f84c63a465d6ba16955930519b7f68c550cae1",
      "tree": "adbe1e3b752f62e3f2e04b54ad82952bd0bd9e5d",
      "parents": [
        "27bdb2abcc5edb3526e25407b74bf17d1872c329"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:28 2010 -0700"
      },
      "message": "ipv6: additional ref count for hash list unnecessary\n\nSince an address in hash list has to already have a ref count,\nno additional ref count is needed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27bdb2abcc5edb3526e25407b74bf17d1872c329",
      "tree": "a25199ed5e17400b068980b179491f169292f4fe",
      "parents": [
        "93fa159abe50d3c55c7f83622d3f5c09b6e06f4b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:27 2010 -0700"
      },
      "message": "IPv6: keep tentative addresses in hash table\n\nWhen link goes down, want address to be preserved but in a tentative\nstate, therefore it has to stay in hash list.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93fa159abe50d3c55c7f83622d3f5c09b6e06f4b",
      "tree": "fdd522cb37ff6ac0cd4dd7a468b3f2b4abad3aa9",
      "parents": [
        "3941f1885bbf5b9f5e45cdd5a82efc794cc3823f"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Apr 12 05:41:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:29:27 2010 -0700"
      },
      "message": "IPv6: keep route for tentative address\n\nRecent changes preserve IPv6 address when link goes down (good).\nBut would cause address to point to dead dst entry (bad).\nThe simplest fix is to just not delete route if address is\nbeing held for later use.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6c6712a42ca3f9fa7f4a3d7c40e3a9dd1fd9e03",
      "tree": "42032b4978874e8ffcf6c851d13324b8c8c7c113",
      "parents": [
        "7a161ea92471087a1579239d7a58dd06eaa5601c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 08 23:03:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:41:33 2010 -0700"
      },
      "message": "net: sk_dst_cache RCUification\n\nWith latest CONFIG_PROVE_RCU stuff, I felt more comfortable to make this\nwork.\n\nsk-\u003esk_dst_cache is currently protected by a rwlock (sk_dst_lock)\n\nThis rwlock is readlocked for a very small amount of time, and dst\nentries are already freed after RCU grace period. This calls for RCU\nagain :)\n\nThis patch converts sk_dst_lock to a spinlock, and use RCU for readers.\n\n__sk_dst_get() is supposed to be called with rcu_read_lock() or if\nsocket locked by user, so use appropriate rcu_dereference_check()\ncondition (rcu_read_lock_held() || sock_owned_by_user(sk))\n\nThis patch avoids two atomic ops per tx packet on UDP connected sockets,\nfor example, and permits sk_dst_lock to be much less dirtied.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a161ea92471087a1579239d7a58dd06eaa5601c",
      "tree": "24dddbec359fc931e23412a27594548702197784",
      "parents": [
        "f0ee7acfcdd4169cee2fefc630de72deb5bc34b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 08 21:26:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:41:32 2010 -0700"
      },
      "message": "net: Dont use netdev_warn()\n\nDont use netdev_warn() in dev_cap_txqueue() and get_rps_cpu() so that we\ncan catch following warnings without crash.\n\nbond0.2240 received packet on queue 6, but number of RX queues is 1\nbond0.2240 received packet on queue 11, but number of RX queues is 1\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed85b565b825566da34e55eee9ad150ed93fdda0",
      "tree": "77b9bad66d0cd6a1b7c657995100d555b8ecb9eb",
      "parents": [
        "7d53b80980a598836c56517290b29aa7b0766ef8"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Apr 07 22:41:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:30:48 2010 -0700"
      },
      "message": "packet: support for TX time stamps on RAW sockets\n\nEnable the SO_TIMESTAMPING socket infrastructure for raw packet sockets.\nWe introduce PACKET_TX_TIMESTAMP for the control message cmsg_type.\n\nSimilar support for UDP and CAN sockets was added in commit\n51f31cabe3ce5345b51e4a4f82138b38c4d5dc91\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fedfb947b2235c1085df97cf52f688b808c3a515",
      "tree": "5eb0ffcd0eace60c7e206df6f33f9841b452f2b3",
      "parents": [
        "44fa2b4bee5b07d506a7b002b4e2eb73654db7e0",
        "bade732a2848e640482c1e99629a90e085d574dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:34:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:34:56 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux:\n  svcrdma: RDMA support not yet compatible with RPC6\n"
    },
    {
      "commit": "2e8e18ef52e7dd1af0a3bd1f7d990a1d0b249586",
      "tree": "cc1e72e6ff4ccd5bb18e544d39691cc0a2e9a599",
      "parents": [
        "bb29624614c2afe2873ee8ee97cf09df42701694"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 08 11:32:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:13 2010 -0700"
      },
      "message": "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb\n\nBack in commit 04a0551c87363f100b04d28d7a15a632b70e18e7\n(\"loopback: Drop obsolete ip_summed setting\") we stopped\nsetting CHECKSUM_UNNECESSARY in the loopback xmit.\n\nThis is because such a setting was a lie since it implies that the\nchecksum field of the packet is properly filled in.\n\nInstead what happens normally is that CHECKSUM_PARTIAL is set and\nskb-\u003ecsum is calculated as needed.\n\nBut this was only happening for TCP data packets (via the\nskb-\u003eip_summed assignment done in tcp_sendmsg()).  It doesn\u0027t\nhappen for non-data packets like ACKs etc.\n\nFix this by setting skb-\u003eip_summed in the common non-data packet\nconstructor.  It already is setting skb-\u003ecsum to zero.\n\nBut this reminds us that we still have things like ip_output.c\u0027s\nip_dev_loopback_xmit() which sets skb-\u003eip_summed to the value\nCHECKSUM_UNNECESSARY, which Herbert\u0027s patch teaches us is not\nvalid.  So we\u0027ll have to address that at some point too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb29624614c2afe2873ee8ee97cf09df42701694",
      "tree": "aea85e4cd6643fb47beba987849378c0e80166a0",
      "parents": [
        "8ad50d96db58c58ba67ec1c6f9d3dae0db52338a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 11 02:15:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:09 2010 -0700"
      },
      "message": "inet: Remove unused send_check length argument\n\ninet: Remove unused send_check length argument\n\nThis patch removes the unused length argument from the send_check\nfunction in struct inet_connection_sock_af_ops.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Yinghai \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ad50d96db58c58ba67ec1c6f9d3dae0db52338a",
      "tree": "f5ebb8a02edcc15b9a8f534909fe908334e364a5",
      "parents": [
        "419f9f896074ce8b21e88066e6f3515f18e5641c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 11 02:15:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:08 2010 -0700"
      },
      "message": "tcp: Handle CHECKSUM_PARTIAL for SYNACK packets for IPv6\n\ntcp: Handle CHECKSUM_PARTIAL for SYNACK packets for IPv6\n\nThis patch moves the common code between tcp_v6_send_check and\ntcp_v6_gso_send_check into a new function __tcp_v6_send_check.\n\nIt then uses the new function in tcp_v6_send_synack as well as\ntcp_v6_send_response so that they handle CHECKSUM_PARTIAL properly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Yinghai \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "419f9f896074ce8b21e88066e6f3515f18e5641c",
      "tree": "ad00f641e9648298581fdece6e3a4f96a78e0af3",
      "parents": [
        "871039f02f8ec4ab2e5e9010718caa8e085786f1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 11 02:15:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:08 2010 -0700"
      },
      "message": "tcp: Handle CHECKSUM_PARTIAL for SYNACK packets for IPv4\n\ntcp: Handle CHECKSUM_PARTIAL for SYNACK packets for IPv4\n\nThis patch moves the common code between tcp_v4_send_check and\ntcp_v4_gso_send_check into a new function __tcp_v4_send_check.\n\nIt then uses the new function in tcp_v4_send_synack so that it\nhandles CHECKSUM_PARTIAL properly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Yinghai \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "4a1032faac94ebbf647460ae3e06fc21146eb280",
      "tree": "7f31b97beb0406faa1523e619289ad0ab07c9787",
      "parents": [
        "ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06",
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06",
      "tree": "03ddf879e73bbcded7b959e1196a9d6884925d31",
      "parents": [
        "e3237e3c60c1f4a790b4e521e406b3ffff74f9bc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:40:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:40:49 2010 -0700"
      },
      "message": "Revert \"tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb\"\n\nThis reverts commit 2626419ad5be1a054d350786b684b41d23de1538.\n\nIt causes regressions for people with IGB cards.  Connection\nrequests don\u0027t complete etc.  The true cause of the issue is\nstill not known, but we should sort this out in net-next-2.6\nnot net-2.6\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68dd5b7a45d1935fcd32b786e8d3d3f7bb4bbfe7",
      "tree": "f3474311eea60bdf71612770dd7311e66749f6c5",
      "parents": [
        "00236aedf1d2c49a18ae9ea00698d97705ff7289"
      ],
      "author": {
        "name": "Teemu Paasikivi",
        "email": "ext-teemu.3.paasikivi@nokia.com",
        "time": "Fri Apr 09 13:07:55 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 09 13:43:11 2010 -0400"
      },
      "message": "mac80211: check whether scan is in progress before queueing scan_work\n\nAs scan_work is queued from work_work it needs to be checked if scan\nhas been started during execution of work_work. Otherwise, when hw\nscan is used, the stack gets error about hw being busy with ongoing\nscan. This causes the stack to abort scan without notifying the driver\nabout it. This leads to a situation where the hw is scanning and the stack\nthinks it\u0027s not. Then when the scan finishes, the stack will complain by\nwarnings.\n\nSigned-off-by: Teemu Paasikivi \u003cext-teemu.3.paasikivi@nokia.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c15cf5fcf9ea0a7749536c201965370d99c86c7f",
      "tree": "cb81947b23a0e2f14bdd45bff3839248363b0260",
      "parents": [
        "39184b151cbe5ce9f1487190ac4244f69bf6a04b"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Apr 08 16:08:46 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 09 13:43:09 2010 -0400"
      },
      "message": "mac80211: fix typo for LDPC capability\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "39184b151cbe5ce9f1487190ac4244f69bf6a04b",
      "tree": "c3dc45e8053ff3066c7a94a3d5a6dfb736be7b5f",
      "parents": [
        "1805a34fa33b6284ab8139dd43779b94de58669a"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu Apr 08 15:35:10 2010 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 09 13:43:09 2010 -0400"
      },
      "message": "mac80211: delay skb linearising in rx decryption\n\nWe delay the skb linearising in ieee80211_rx_h_decrypt so that\nframes do not require software decryption are not linearized. We\nare safe to do this because ieee80211_get_mmie_keyidx() only\nrequires to touch nonlinear data for management frames, which are\nalready linearized before getting here.\n\nCc: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "b5878a2dc5e7e7f031a52c3e15b571224cb6b540"
}
