)]}'
{
  "log": [
    {
      "commit": "7ec75c582e639d956ce3afd499f67febe6f902a4",
      "tree": "4752d1cc90ab385797d526cb901e42f27e3b20f6",
      "parents": [
        "d4c4f07df16c767b8efbc44e7cdf795fac326b33"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 27 06:22:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:39:01 2010 -0700"
      },
      "message": "net: suppress RCU lockdep false positive in twsk_net()\n\nCalls to twsk_net() are in some cases protected by reference counting\nas an alternative to RCU protection.  Cases covered by reference counts\ninclude __inet_twsk_kill(), inet_twsk_free(), inet_twdr_do_twkill_work(),\ninet_twdr_twcal_tick(), and tcp_timewait_state_process().  RCU is used\nby inet_twsk_purge().  Locking is used by established_get_first()\nand established_get_next().  Finally, __inet_twsk_hashdance() is an\ninitialization case.\n\nIt appears to be non-trivial to locate the appropriate locks and\nreference counts from within twsk_net(), so used rcu_dereference_raw().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@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": "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": "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": "286d1e7f73320be063a5f6af25d3d61c741065c2",
      "tree": "a92926edb04d9eb1fc6bc12e1518988b0359bb8b",
      "parents": [
        "e904f0a4163bc7bd303d2430893d82362df6727e"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Apr 22 14:38:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 18:32:12 2010 -0700"
      },
      "message": "remove DCB_PROTO_VERSION as we don\u0027t do netlink versioning\n\nremove DCB_PROTO_VERSION as we don\u0027t do netlink versioning\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "f68c224fedff2157f3fad7f7da674cbc96567c84",
      "tree": "848340e2220cffa5de706d5a142b5beeaa02c643",
      "parents": [
        "40eaf96271526a9f71030dd1a199ce46c045752e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 22 16:06:59 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:06:59 2010 -0700"
      },
      "message": "dst: rcu check refinement\n\n__sk_dst_get() might be called from softirq, with socket lock held.\n\n[  159.026180] include/net/sock.h:1200 invoked rcu_dereference_check()\nwithout protection!\n[  159.026261] \n[  159.026261] other info that might help us debug this:\n[  159.026263] \n[  159.026425] \n[  159.026426] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[  159.026552] 2 locks held by swapper/0:\n[  159.026609]  #0:  (\u0026icsk-\u003eicsk_retransmit_timer){+.-...}, at:\n[\u003cffffffff8104fc15\u003e] run_timer_softirq+0x105/0x350\n[  159.026839]  #1:  (slock-AF_INET){+.-...}, at: [\u003cffffffff81392b8f\u003e]\ntcp_write_timer+0x2f/0x1e0\n[  159.027063] \n[  159.027064] stack backtrace:\n[  159.027172] Pid: 0, comm: swapper Not tainted\n2.6.34-rc5-03707-gde498c8-dirty #36\n[  159.027252] Call Trace:\n[  159.027306]  \u003cIRQ\u003e  [\u003cffffffff810718ef\u003e] lockdep_rcu_dereference\n+0xaf/0xc0\n[  159.027411]  [\u003cffffffff8138e4f7\u003e] tcp_current_mss+0xa7/0xb0\n[  159.027537]  [\u003cffffffff8138fa49\u003e] tcp_write_wakeup+0x89/0x190\n[  159.027600]  [\u003cffffffff81391936\u003e] tcp_send_probe0+0x16/0x100\n[  159.027726]  [\u003cffffffff81392cd9\u003e] tcp_write_timer+0x179/0x1e0\n[  159.027790]  [\u003cffffffff8104fca1\u003e] run_timer_softirq+0x191/0x350\n[  159.027980]  [\u003cffffffff810477ed\u003e] __do_softirq+0xcd/0x200\n\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@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": "a1aa8822d577c8714f8d343eea028befbab3da9d",
      "tree": "f4af154b3354cfc1456a257604b348dd9c7e21dc",
      "parents": [
        "6846ad282693bd066645aff6f13d2b279d505314"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors@pelagicore.com",
        "time": "Wed Apr 21 16:33:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 16:33:29 2010 -0700"
      },
      "message": "ks8842: Add platform data for setting mac address\n\nThis patch adds platform data to the ks8842 driver.\n\nVia the platform data a MAC address, to be used by the controller,\ncan be passed.\n\nTo ensure this MAC address is used, the MAC address is written\nafter each hardware reset.\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors@pelagicore.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": "672724403b42da1d276c6cf811e8e34d15efd964",
      "tree": "3664f85476b667625aa37f3493e6bc0791f11ef9",
      "parents": [
        "81b208a6b6e2923dcc2dd5292f0d2ffe20b5d16f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 21 10:25:36 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 21 14:15:19 2010 -0400"
      },
      "message": "radiotap parser: fix endian annotation\n\nWhen I updated this from the corresponding\nuserspace library, an annotation error crept\nin -- this variable needs to be annotated as\nlittle endian. No effect on code generation.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\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": "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": "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": "f79d9bad37cb1e7ef23d60b1dd0b7859957ced9e",
      "tree": "455199d0e2560726656858deffe12b7aa702a522",
      "parents": [
        "3bb065a7420c90421d6bbea5f7cffe36bd79a048"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Apr 19 19:57:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:52:21 2010 -0400"
      },
      "message": "mac80211: add flags for STBC (Space-Time Block Coding)\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "80725f454e58937ad546103e6a141c46b0d65a1b",
      "tree": "efebdd49c7f034cdc870e9e72c326cae7eeb7e34",
      "parents": [
        "55ee82b500551f80720de57a00d2990d56cf08a8"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Apr 20 08:16:37 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:50:52 2010 -0400"
      },
      "message": "mac80211: document IEEE80211_CONF_CHANGE_QOS\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.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": "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": "93d95b12b3ba06e0e1f3e43a370ee61539d8cb90",
      "tree": "dd47ad008a948d422d07c1635f7d5ae1ee03999a",
      "parents": [
        "76026660c3699a82d1df2d04f6dd81af01d9d19a"
      ],
      "author": {
        "name": "Daniel Halperin",
        "email": "dhalperi@cs.washington.edu",
        "time": "Sun Apr 18 09:28:18 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:41:42 2010 -0400"
      },
      "message": "mac80211: fix typo in comments\n\nThe flag is called IEEE80211_TX_STAT_AMPDU rather than using the whole word\nSTATUS.\n\nSigned-off-by: Daniel Halperin \u003cdhalperi@cs.washington.edu\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": "85341c61361cc45a9cc0e11c01e8f4479ef460ac",
      "tree": "8d5e8e98aaef7f77f9749d851dd409ac356f0258",
      "parents": [
        "375db4810b27306ea400ab39d3d6f7a063ac9ff6",
        "bc293d62b26ec590afc90a9e0a31c45d355b7bd8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 08:35:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 08:35:47 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Make RCU lockdep check the lockdep_recursion variable\n  rcu: Update docs for rcu_access_pointer and rcu_dereference_protected\n  rcu: Better explain the condition parameter of rcu_dereference_check()\n  rcu: Add rcu_access_pointer and rcu_dereference_protected\n"
    },
    {
      "commit": "73c6c7fbb74d07a80fee41ce4ca3976547519e42",
      "tree": "2c2e2e5c7420054900a491bed70a2c766bd558c9",
      "parents": [
        "eb3e5cce2b39a266a1a167fa4290939db20ef5d6",
        "79b9517a33a283c5d9db875c263670ed1e055f7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 07:27:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 07:27:06 2010 -0700"
      },
      "message": "Merge branch \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: add FireMV 2400 PCI ID.\n  drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSET\n  drivers/gpu/radeon: Add MSPOS regs to safe list.\n  drm/radeon/kms: disable the tv encoder when tv/cv is not in use\n  drm/radeon/kms: adjust pll settings for tv\n  drm/radeon/kms: fix tv dac conflict resolver\n  drm/radeon/kms/evergreen: don\u0027t enable hdmi audio stuff\n  drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0\n  drm/radeon/kms: fix rs600 tlb flush\n  drm/radeon/kms: print GPU family and device id when loading\n  drm/radeon/kms: fix calculation of mipmapped 3D texture sizes\n  drm/radeon/kms: only change mode when coherent value changes.\n  drm/radeon/kms: more atom parser fixes (v2)\n"
    },
    {
      "commit": "79b9517a33a283c5d9db875c263670ed1e055f7e",
      "tree": "0a6c0fb95415864c0a1e1356a4dd26cb3f390ba0",
      "parents": [
        "cae94b0ad9d147152af77b971a7234faf20027a9"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Apr 19 17:54:31 2010 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Apr 19 18:53:10 2010 +1000"
      },
      "message": "drm/radeon/kms: add FireMV 2400 PCI ID.\n\nThis is an M24/X600 chip.\n\nFrom RH# 581927\n\ncc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "bc293d62b26ec590afc90a9e0a31c45d355b7bd8",
      "tree": "4b61dee53e849f0ba1d5a7fef58522e224be836e",
      "parents": [
        "50aec0024eccb1d5f540ab64a1958eebcdb9340c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 15 12:50:39 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 19 08:37:19 2010 +0200"
      },
      "message": "rcu: Make RCU lockdep check the lockdep_recursion variable\n\nThe lockdep facility temporarily disables lockdep checking by\nincrementing the current-\u003elockdep_recursion variable.  Such\ndisabling happens in NMIs and in other situations where lockdep\nmight expect to recurse on itself.\n\nThis patch therefore checks current-\u003elockdep_recursion, disabling RCU\nlockdep splats when this variable is non-zero.  In addition, this patch\nremoves the \"likely()\", as suggested by Lai Jiangshan.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nTested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c20100415195039.GA22623@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "a02a2956809d88b42b9a1f8003d60a343353b5ea",
      "tree": "58f3375f5b8c54ca68ca32ae30b705e11c2457af",
      "parents": [
        "7f1f5a0060e377ff6a15903487b39223e12b8568"
      ],
      "author": {
        "name": "Grazvydas Ignotas",
        "email": "notasas@gmail.com",
        "time": "Fri Apr 16 13:22:12 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 16 15:47:14 2010 -0400"
      },
      "message": "wl1251: add support for dedicated IRQ line\n\nwl1251 has WLAN_IRQ pin for generating interrupts to host processor,\nwhich is mandatory in SPI mode and optional in SDIO mode (which can\nuse SDIO interrupts instead). However TI recommends using deditated\nIRQ line for SDIO too.\n\nAdd support for using dedicated interrupt line with SDIO, but also leave\nability to switch to SDIO interrupts in case it\u0027s needed.\n\nSigned-off-by: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nReviewed-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a56bd0ae3f84dbd63535205b18b1a736abaa920",
      "tree": "d8b78b8b446a878c84d8f928b882c78005f682b9",
      "parents": [
        "e5003249ae7165654e13fd4809caa346820547f5"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Apr 15 17:39:37 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 16 15:43:48 2010 -0400"
      },
      "message": "mac80211: add LDPC control flag\n\nLDPC will be enabled through the rate control algorithm\nfor each buffer the the tx_info flags.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\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": "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": "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": "2fed94c032316d89422d4abfca2a882897489b94",
      "tree": "9381c79a351d2c13f6b87bae550c51689491ded6",
      "parents": [
        "00eef7bd01c7598d195699983c5290d901df19ad",
        "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: cdev: change license of exported header files to MIT license\n  firewire: cdev: comment fixlet\n  firewire: cdev: iso packet documentation\n  firewire: cdev: fix information leak\n  firewire: cdev: require quadlet-aligned headers for transmit packets\n  firewire: cdev: disallow receive packets without header\n"
    },
    {
      "commit": "00eef7bd01c7598d195699983c5290d901df19ad",
      "tree": "14ba0178fc2c5e807282132e689236965b889e91",
      "parents": [
        "250541fca717a5c9b0d3710e737b2ca32ebb6fbc",
        "014f61504af276ba9d9544d8a7401d8f8526eb73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:49:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:49:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - switch mode upon system resume\n  Revert \"Input: wacom - merge out and in prox events\"\n  Input: matrix_keypad - allow platform to disable key autorepeat\n  Input: ALPS - add signature for HP Pavilion dm3 laptops\n  Input: i8042 - spelling fix\n  Input: sparse-keymap - implement safer freeing of the keymap\n  Input: update the status of the Multitouch X driver project\n  Input: clarify the no-finger event in multitouch protocol\n  Input: bcm5974 - retract efi-broken suspend_resume\n  Input: sparse-keymap - free the right keymap on error\n"
    },
    {
      "commit": "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802",
      "tree": "dc7d17175b47cd81fea937ddd4d933aa4871b9f4",
      "parents": [
        "ca658b1e29d6be939207532e337fb640eb697f71"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Apr 11 11:52:12 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 15 17:50:49 2010 +0200"
      },
      "message": "firewire: cdev: change license of exported header files to MIT license\n\nAmong else, this allows projects like libdc1394 to carry copies of the\nABI related header files without them or distributors having to worry\nabout effects on the project\u0027s overall license terms.  Switch to MIT\nlicense as suggested by Kristian.  Also update the year in the\ncopyright statement according to source history.\n\nCc: Jay Fenlason \u003cfenlason@redhat.com\u003e\nAcked-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\n"
    },
    {
      "commit": "fd793d8905720595caede6bd26c5df6c0ecd37f8",
      "tree": "1aab1c7c6db278d0400e9a2e6019955419413a6c",
      "parents": [
        "b0e28f1effd1d840b36e961edc1def81e01b1ca1"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Apr 15 00:16:59 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 00:16:59 2010 -0700"
      },
      "message": "net: CONFIG_SMP should be CONFIG_RPS\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e326e8503dfc73e4f79d488a78ee3d7cde10081f",
      "tree": "04f0c29dfd48edf2de175eec64b24c7164e88e86",
      "parents": [
        "688911c2f5e5e4f33b5a1c32839184f1fdf814ee"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Tue Apr 13 20:21:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 04:49:51 2010 -0700"
      },
      "message": "stmmac: new descriptor field for the driver\u0027s platform\n\nThe new enh_desc is used for selecting the enhanced descriptors\nstructure. There are several scenarios; some chips (mac10/100\nor gmac) want to use the enhanced descriptors; others want the normal\nones.\nFor example, on ST platforms: MAC10/100 uses the normal desc structure\nand the GMAC uses the enhanced one.\nIt can be useful to get this information from the platform.\nThis could also be decided at run-time looking at the chip\u0027s ID number;\nbut it could happen that chips with the same ID want to use different\ndescriptor structure.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c08c68dd76bd6b776bc0eb45a5e8f354ed772cdf",
      "tree": "5324c73474b1e73631392de814e8ecebd5956d5b",
      "parents": [
        "b62730baea32f86fe91a7930e4b7ee8d82778b79"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 09 15:39:11 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 12:20:04 2010 +0200"
      },
      "message": "rcu: Better explain the condition parameter of rcu_dereference_check()\n\nBetter explain the condition parameter of\nrcu_dereference_check() that describes the conditions under\nwhich the dereference is permitted to take place (and\nincorporate Yong Zhang\u0027s suggestion).  This condition is only\nchecked under lockdep proving.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c1270852752-25278-2-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b62730baea32f86fe91a7930e4b7ee8d82778b79",
      "tree": "97910bcb8a0790b10ff687dad901e158a2da63f4",
      "parents": [
        "2ba3abd8186f24c7fb418927025b4e2120e3a362"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Apr 09 15:39:10 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 12:19:51 2010 +0200"
      },
      "message": "rcu: Add rcu_access_pointer and rcu_dereference_protected\n\nThis patch adds variants of rcu_dereference() that handle\nsituations where the RCU-protected data structure cannot change,\nperhaps due to our holding the update-side lock, or where the\nRCU-protected pointer is only to be fetched, not dereferenced.\nThese are needed due to some performance concerns with using\nrcu_dereference() where it is not required, aside from the need\nfor lockdep/sparse checking.\n\nThe new rcu_access_pointer() primitive is for the case where the\npointer is be fetch and not dereferenced.  This primitive may be\nused without protection, RCU or otherwise, due to the fact that\nit uses ACCESS_ONCE().\n\nThe new rcu_dereference_protected() primitive is for the case\nwhere updates are prevented, for example, due to holding the\nupdate-side lock.  This primitive does neither ACCESS_ONCE() nor\nsmp_read_barrier_depends(), so can only be used when updates are\nsomehow prevented.\n\nSuggested-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c1270852752-25278-1-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0fdfe5ad2802e747460bf48eb2eb0ca3d3f3af42",
      "tree": "1358c7920438e090605695f6fb8e7989eb3f8998",
      "parents": [
        "44d2d371d250b44cbe40f8d47e329c97668d7594",
        "0df5dd4aae211edeeeb84f7f84f6d093406d7c22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 15:10:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 15:10:16 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: fix delegated locking\n  NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible\n  NFS: Fix a race with the new commit code\n  NFS: Ensure that writeback_single_inode() calls write_inode() when syncing\n  NFS: Fix the mode calculation in nfs_find_open_context\n  NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR\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": "f74e49b5613206fb18468bdc9509a1db746aa01b",
      "tree": "2b45092158d7df385822fd1e21a5433f7ffdb8d1",
      "parents": [
        "0f87b1dd01b51dc3c789f7a212656a4a87eee1bd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:31 2010 -0700"
      },
      "message": "ipv4: raw: move struct raw_sock and raw_sk() to include/net/raw.h\n\nA following patch will use struct raw_sock to store state for ipmr,\nso having the definitions in icmp.h doesn\u0027t fit very well anymore.\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": "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": "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": "829e0015431537176e38812f88fffe1d3250083e",
      "tree": "585fa8fafbf09d629262f78c3b7ab2f578f35021",
      "parents": [
        "5e10d4a7fc80e4ef310c07a6a547406fef50534a"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Tue Apr 13 00:03:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 03:32:42 2010 -0700"
      },
      "message": "Fix some #includes in CAN drivers (rebased for net-next-2.6)\n\nIn the current implementation, CAN drivers need to #include \u003clinux/can.h\u003e\n_before_ they #include \u003clinux/can/dev.h\u003e, which is both ugly and\nunnecessary.\n\nFix this by including \u003clinux/can.h\u003e in \u003clinux/can/dev.h\u003e and remove the\n#include \u003clinux/can.h\u003e lines from drivers.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd58950a5345f006a318f178705b9250aa54425c",
      "tree": "dcb03a8a7fc911be029bf5d8efc3e98de04b386a",
      "parents": [
        "1b6e66182dab42c42bdac72633dbe35b3dba8f69"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Fri Apr 09 10:01:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:58:24 2010 -0700"
      },
      "message": "skbuff: remove unused dev_consume_skb macro definition\n\ndev_consume_skb and kfree_skb_clean have no users and in the case of\nkfree_skb_clean could cause potential build issues since I cannot find\nwhere it is defined.  Based on the patch in which it was introduced it\nappears to have been a bit of leftover code from an earlier version of the\npatch in which kfree_skb_clean was dropped in favor of consume_skb.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.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": "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": "0df5dd4aae211edeeeb84f7f84f6d093406d7c22",
      "tree": "6e58bc436b873cf582f20cf0dbd21461c0a56837",
      "parents": [
        "2c61be0a9478258f77b66208a0c4b1f5f8161c3c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 11 16:48:44 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 12 07:55:15 2010 -0400"
      },
      "message": "NFSv4: fix delegated locking\n\nArnaud Giersch reports that NFSv4 locking is broken when we hold a\ndelegation since commit 8e469ebd6dc32cbaf620e134d79f740bf0ebab79 (NFSv4:\nDon\u0027t allow posix locking against servers that don\u0027t support it).\n\nAccording to Arnaud, the lock succeeds the first time he opens the file\n(since we cannot do a delegated open) but then fails after we start using\ndelegated opens.\n\nThe following patch fixes it by ensuring that locking behaviour is\ngoverned by a per-filesystem capability flag that is initially set, but\ngets cleared if the server ever returns an OPEN without the\nNFS4_OPEN_RESULT_LOCKTYPE_POSIX flag being set.\n\nReported-by: Arnaud Giersch \u003carnaud.giersch@iut-bm.univ-fcomte.fr\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\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": "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": "ca658b1e29d6be939207532e337fb640eb697f71",
      "tree": "f22c747e718d12b5be2bc37cfccd6d02aff9fcbe",
      "parents": [
        "aa6fec3cdeb14ecc916eb78c4cd9ed79e4f7fe8d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 12:23:09 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 16:51:13 2010 +0200"
      },
      "message": "firewire: cdev: comment fixlet\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "aa6fec3cdeb14ecc916eb78c4cd9ed79e4f7fe8d",
      "tree": "4beee35aa9f9e31ec542d11075b822de9adbacc6",
      "parents": [
        "9cac00b8f0079d5d3d54ec4dae453d58dec30e7c"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Mar 31 16:26:52 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 16:51:13 2010 +0200"
      },
      "message": "firewire: cdev: iso packet documentation\n\nAdd the missing documentation for iso packets.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2f4084209adc77f9a1c9f38db3019a509e167882",
      "tree": "775657114c885505ecc46605e29ea1470e986f76",
      "parents": [
        "2f10ffcfb28beb35137d9e86992c771b4a6c5f2a",
        "3440c49f5c5ecb4f29b0544aa87da71888404f8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (34 commits)\n  cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch\n  loop: Update mtime when writing using aops\n  block: expose the statistics in blkio.time and blkio.sectors for the root cgroup\n  backing-dev: Handle class_create() failure\n  Block: Fix block/elevator.c elevator_get() off-by-one error\n  drbd: lc_element_by_index() never returns NULL\n  cciss: unlock on error path\n  cfq-iosched: Do not merge queues of BE and IDLE classes\n  cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging\n  i2o: Remove the dangerous kobj_to_i2o_device macro\n  block: remove 16 bytes of padding from struct request on 64bits\n  cfq-iosched: fix a kbuild regression\n  block: make CONFIG_BLK_CGROUP visible\n  Remove GENHD_FL_DRIVERFS\n  block: Export max number of segments and max segment size in sysfs\n  block: Finalize conversion of block limits functions\n  block: Fix overrun in lcm() and move it to lib\n  vfs: improve writeback_inodes_wb()\n  paride: fix off-by-one test\n  drbd: fix al-to-on-disk-bitmap for 4k logical_block_size\n  ...\n"
    },
    {
      "commit": "ce82653d6cfcc95ba88c25908664878459fb1b8d",
      "tree": "ab80dd0055bcb4b9296c28c241f1d1fba229be1f",
      "parents": [
        "d3e06e2b15590b70ea73733fc4612e4741ff46e0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 06 22:36:20 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:12:03 2010 -0700"
      },
      "message": "radix_tree_tag_get() is not as safe as the docs make out [ver #2]\n\nradix_tree_tag_get() is not safe to use concurrently with radix_tree_tag_set()\nor radix_tree_tag_clear().  The problem is that the double tag_get() in\nradix_tree_tag_get():\n\n\t\tif (!tag_get(node, tag, offset))\n\t\t\tsaw_unset_tag \u003d 1;\n\t\tif (height \u003d\u003d 1) {\n\t\t\tint ret \u003d tag_get(node, tag, offset);\n\nmay see the value change due to the action of set/clear.  RCU is no protection\nagainst this as no pointers are being changed, no nodes are being replaced\naccording to a COW protocol - set/clear alter the node directly.\n\nThe documentation in linux/radix-tree.h, however, says that\nradix_tree_tag_get() is an exception to the rule that \"any function modifying\nthe tree or tags (...) must exclude other modifications, and exclude any\nfunctions reading the tree\".\n\nThe problem is that the next statement in radix_tree_tag_get() checks that the\ntag doesn\u0027t vary over time:\n\n\t\t\tBUG_ON(ret \u0026\u0026 saw_unset_tag);\n\nThis has been seen happening in FS-Cache:\n\n\thttps://www.redhat.com/archives/linux-cachefs/2010-April/msg00013.html\n\nTo this end, remove the BUG_ON() from radix_tree_tag_get() and note in various\ncomments that the value of the tag may change whilst the RCU read lock is held,\nand thus that the return value of radix_tree_tag_get() may not be relied upon\nunless radix_tree_tag_set/clear() and radix_tree_delete() are excluded from\nrunning concurrently with it.\n\nReported-by: Romain DEGEZ \u003cromain.degez@smartjog.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc1c183353a113c71675fecd0485e5aa0fe68d72",
      "tree": "25fc50112c80402ab43bd86a3d6b6a99a0c3c128",
      "parents": [
        "4dc86ae1f925b2121d4e75058675895f83e54c71"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 07 19:23:40 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:09:50 2010 -0700"
      },
      "message": "slab: Generify kernel pointer validation\n\nAs suggested by Linus, introduce a kern_ptr_validate() helper that does some\nsanity checks to make sure a pointer is a valid kernel pointer.  This is a\npreparational step for fixing SLUB kmem_ptr_validate().\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97ad9139fd68b5c71f44d28d3f9788d89cfd4916",
      "tree": "a4b270e9fc7c55a4c6fc4df5e13cf399463fde27",
      "parents": [
        "60ece4047e4870c7be28dcf661162d8312c161e7"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Mar 29 11:00:21 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 15:24:07 2010 -0400"
      },
      "message": "mac80211: Moved mesh action codes to a more visible location\n\nGrouped mesh action codes together with the other action codes in\nieee80211.h.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
      "tree": "f360f4ecacba17132c81ac37b6b737f1458f2d02",
      "parents": [
        "0a5bff744a6263d397f88671ed2f772da9c64989"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Thu Apr 08 11:27:42 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 08 11:27:42 2010 -0700"
      },
      "message": "xfrm: Fix crashes in xfrm_lookup()\n\nFrom: Timo Teräs \u003ctimo.teras@iki.fi\u003e\n\nHappens because CONFIG_XFRM_SUB_POLICY is not enabled, and one of\nthe helper functions I used did unexpected things in that case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f2df9eac70423838a1f8d410fd3899ddd88317b",
      "tree": "0617f723320d83eca5cef9c964c001014e74213f",
      "parents": [
        "8c11e4ab09ffb975a89802dde0e9aa52a53b8aa5",
        "1144601118507f8b3b676a9a392584d216d3f2cc"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 13:34:54 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 13:34:54 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-4965.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/net/wireless/iwlwifi/iwl-tx.c\n"
    },
    {
      "commit": "45c4d015a92f72ec47acd0c7557abdc0c8a6499d",
      "tree": "8c71c959f3c7c04647336cca27dc18e3cd0bbe0b",
      "parents": [
        "cf90bfe2ebaf9d32f37acbebb7425c280fd6cd30"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "kernel@teksavvy.com",
        "time": "Wed Apr 07 13:52:08 2010 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 08 12:53:57 2010 -0400"
      },
      "message": "libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2)\n\nMost drives from Seagate, Hitachi, and possibly other brands,\ndo not allow LBA28 access to sector number 0x0fffffff (2^28 - 1).\nSo instead use LBA48 for such accesses.\n\nThis bug could bite a lot of systems, especially when the user has\ntaken care to align partitions to 4KB boundaries. On misaligned systems,\nit is less likely to be encountered, since a 4KB read would end at\n0x10000000 rather than at 0x0fffffff.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "cf90bfe2ebaf9d32f37acbebb7425c280fd6cd30",
      "tree": "d3e3f2067dc423721d698d154e15213aa5b0132d",
      "parents": [
        "0a2851b9a837cb025d48bb8118f35ebd12bce4b5",
        "720fc22a7af79d91ec460c80efa92c65c12d105e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 07:45:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 07:45:36 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:\n  ide: Fix IDE taskfile with cfq scheduler\n  ide: Must hold queue lock when requeueing\n  ide: Requeue request after DMA timeout\n"
    },
    {
      "commit": "97f8aefbbfb5aa5c9944e5fa8149f1fdaf71c7b6",
      "tree": "0aea84f87d78183056dceb07b1eb31dc812df3a4",
      "parents": [
        "8dd4bd002a32e787978fcb2be1e6ab09a3eb04ae"
      ],
      "author": {
        "name": "chavey",
        "email": "chavey@google.com",
        "time": "Wed Apr 07 21:54:42 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 21:54:42 2010 -0700"
      },
      "message": "net: fix ethtool coding style errors and warnings\n\nFix coding style errors and warnings output while running checkpatch.pl\non the files net/core/ethtool.c and include/linux/ethtool.h\n\nSigned-off-by: chavey \u003cchavey@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5eb917b861828da18dc28854308068c66d1449a",
      "tree": "aa45d1a809abbe426b55dc89b8167e5a6609d418",
      "parents": [
        "fd218cf9557b9bf7061365a8fe7020a56d3f767c"
      ],
      "author": {
        "name": "John Hughes",
        "email": "john@calva.com",
        "time": "Wed Apr 07 21:29:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 21:29:25 2010 -0700"
      },
      "message": "x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet.\n\nHere is a patch to stop X.25 examining fields beyond the end of the packet.\n\nFor example, when a simple CALL ACCEPTED was received:\n\n\t10 10 0f\n\nx25_parse_facilities was attempting to decode the FACILITIES field, but this\npacket contains no facilities field.\n\nSigned-off-by: John Hughes \u003cjohn@calva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7a413015d2986edf020fba765c906cc9cbcbfc9",
      "tree": "e7d65883c875ddb215e47c14aa3616e4bf1a80e3",
      "parents": [
        "9ff4cfab82d27e9fda72315f911bbaa9516e04bc"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Mar 31 21:56:42 2010 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Apr 08 09:46:19 2010 +0930"
      },
      "message": "virtio: disable multiport console support.\n\nMove MULTIPORT feature and related config changes\nout of exported headers, and disable the feature\nat runtime.\n\nAt this point, it seems less risky to keep code around\nuntil we can enable it than rip it out completely.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "18e225f257663c59ff9d4482f07ffd06361fc2ec",
      "tree": "1e131d82de1a07488272d5724a4e641d6a466345",
      "parents": [
        "8e4795605d1e1b39113818ad7c147b8a867a1f6a"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Wed Apr 07 16:40:09 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 16:40:09 2010 -0700"
      },
      "message": "net: fix definition of netdev_for_each_mc_addr()\n\nThe first argument should be called ha, not mclist.  All callers use the\nname \"ha\", but if they used a different name, there would be a compile\nerror.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "098a607091426e79178b9a6c318d993fea131791",
      "tree": "d62c9993e49f90ca962cd763b096911d22d7e051",
      "parents": [
        "618f356b95e37ca0c30b3b513898fda54abd52a6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:47 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:38:05 2010 -0400"
      },
      "message": "mac80211: clean up/fix aggregation code\n\nThe aggregation code has a number of quirks, like\ninventing an unneeded WLAN_BACK_TIMER value and\nleaking memory under certain circumstances during\nstation destruction. Fix these issues by using\nthe regular aggregation session teardown code and\nblocking new aggregation sessions, all before the\nstation is really destructed.\n\nAs a side effect, this gets rid of the long code\nblock to destroy aggregation safely.\n\nAdditionally, rename tid_state_rx which can only\nhave the values IDLE and OPERATIONAL to\ntid_active_rx to make it easier to understand\nthat there is no bitwise stuff going on on the\nRX side -- the TX side remains because it needs\nto keep track of the driver and peer states.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d5cdfacb35ed886271d1ccfffbded98d3447da17",
      "tree": "8233a713949c4c8da8c98e75868efc74d5613c3d",
      "parents": [
        "7590a550b88b8c3cb025f0a8ed58e279ad62e4c1"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Sun Apr 04 09:37:19 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:37:56 2010 -0400"
      },
      "message": "cfg80211: Add local-state-change-only auth/deauth/disassoc\n\ncfg80211 is quite strict on allowing authentication and association\ncommands only in certain states. In order to meet these requirements,\nuser space applications may need to clear authentication or\nassociation state in some cases. Currently, this can be done with\ndeauth/disassoc command, but that ends up sending out Deauthentication\nor Disassociation frame unnecessarily. Add a new nl80211 attribute to\nallow this sending of the frame be skipped, but with all other\ndeauth/disassoc operations being completed.\n\nSimilar state change is also needed for IEEE 802.11r FT protocol in\nthe FT-over-DS case which does not use Authentication frame exchange\nin a transition to another BSS. For this to work with cfg80211, an\nauthentication entry needs to be created for the target BSS without\nsending out an Authentication frame. The nl80211 authentication\ncommand can be used for this purpose, too, with the new attribute to\nindicate that the command is only for changing local state. This\nenables wpa_supplicant to complete FT-over-DS transition successfully.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fb1ae635772d679eb312fa447290fc02cd0e4cf1",
      "tree": "45733f9820da1190cd58bfff080edbb02af961a8",
      "parents": [
        "addb2d6c13993060ae75f5005815b19dd2abdd64",
        "472a474c6630efd195d3738339fd1bdc8aa3b1aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 11:02:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 11:02:23 2010 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:\n  x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards\n  x86: Increase CONFIG_NODES_SHIFT max to 10\n  ibft, x86: Change reserve_ibft_region() to find_ibft_region()\n  x86, hpet: Fix bug in RTC emulation\n  x86, hpet: Erratum workaround for read after write of HPET comparator\n  bootmem, x86: Fix 32bit numa system without RAM on node 0\n  nobootmem, x86: Fix 32bit numa system without RAM on node 0\n  x86: Handle overlapping mptables\n  x86: Make e820_remove_range to handle all covered case\n  x86-32, resume: do a global tlb flush in S4 resume\n"
    },
    {
      "commit": "84db18bbeb5c9c1a9c86e38a89d76ee526fd2c6f",
      "tree": "49d3959eb24cd7c0754ed50e05fb96b0fb8d04aa",
      "parents": [
        "6948ec70355ae6cf6082519e3d76b280373dade1",
        "55b371d4ac5ed6f3338a398fbf9f2eb9ace78799"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:42:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:42:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: mixart: range checking proc file\n  ALSA: hda - Fix a wrong array range check in patch_realtek.c\n  ALSA: ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream\n  ALSA: hda - Enable amplifiers on Acer Inspire 6530G\n  ASoC: Only do WM8994 bias off transition from standby\n  ASoC: Don\u0027t use DCS_DATAPATH_BUSY for WM hubs devices\n  ASoC: Don\u0027t do runtime wm_hubs DC servo updates if using offset correction\n  ASoC: Support second DC servo readback method for wm_hubs\n  ASoC: Avoid wraparound in wm_hubs DC servo correction\n  ALSA: echoaudio - Eliminate use after free\n  ALSA: i2c: cleanup: change parameter to pointer\n  ALSA: hda - Add MSI blacklist for Aopen MZ915-M\n  ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent ALSA PCM code\n  ALSA: hda - Update document about MSI and interrupts\n  ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981\n  ALSA: hda - Add missing printk argument in previous patch\n  ASoC: Fix passing platform_data to ac97 bus users and fix a leak\n  ALSA: hda - Fix ADC/MUX assignment of ALC269 codec\n  ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo()\n  ASoC: wm8994: playback \u003d\u003e capture\n"
    },
    {
      "commit": "8725d5416213a145ccc9c236dbd26830ba409e00",
      "tree": "aff10fc98874adfcb7755ec8bc1f2627036e8dc2",
      "parents": [
        "116354d177ba2da37e91cf884e3d11e67f825efd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Apr 06 14:35:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:05 2010 -0700"
      },
      "message": "memcg: fix race in file_mapped accounting\n\nPresently, memcg\u0027s FILE_MAPPED accounting has following race with\nmove_account (happens at rmdir()).\n\n    increment page-\u003emapcount (rmap.c)\n    mem_cgroup_update_file_mapped()           move_account()\n\t\t\t\t\t      lock_page_cgroup()\n\t\t\t\t\t      check page_mapped() if\n\t\t\t\t\t      page_mapped(page)\u003e1 {\n\t\t\t\t\t\tFILE_MAPPED -1 from old memcg\n\t\t\t\t\t\tFILE_MAPPED +1 to old memcg\n\t\t\t\t\t      }\n\t\t\t\t\t      .....\n\t\t\t\t\t      overwrite pc-\u003emem_cgroup\n\t\t\t\t\t      unlock_page_cgroup()\n    lock_page_cgroup()\n    FILE_MAPPED + 1 to pc-\u003emem_cgroup\n    unlock_page_cgroup()\n\nThen,\n\told memcg (-1 file mapped)\n\tnew memcg (+2 file mapped)\n\nThis happens because move_account see page_mapped() which is not guarded\nby lock_page_cgroup().  This patch adds FILE_MAPPED flag to page_cgroup\nand move account information based on it.  Now, all checks are synchronous\nwith lock_page_cgroup().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Andrea Righi \u003carighi@develer.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "116354d177ba2da37e91cf884e3d11e67f825efd",
      "tree": "150227e8a5c9ce8b6dd9333593ed513c8c012686",
      "parents": [
        "57119c34e53bbb8d244c3ff1335ef5145768538f"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Tue Apr 06 14:35:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "pagemap: fix pfn calculation for hugepage\n\nWhen we look into pagemap using page-types with option -p, the value of\npfn for hugepages looks wrong (see below.) This is because pte was\nevaluated only once for one vma although it should be updated for each\nhugepage.  This patch fixes it.\n\n  $ page-types -p 3277 -Nl -b huge\n  voffset   offset  len     flags\n  7f21e8a00 11e400  1       ___U___________H_G________________\n  7f21e8a01 11e401  1ff     ________________TG________________\n               ^^^\n  7f21e8c00 11e400  1       ___U___________H_G________________\n  7f21e8c01 11e401  1ff     ________________TG________________\n               ^^^\n\nOne hugepage contains 1 head page and 511 tail pages in x86_64 and each\ntwo lines represent each hugepage.  Voffset and offset mean virtual\naddress and physical address in the page unit, respectively.  The\ndifferent hugepages should not have the same offset value.\n\nWith this patch applied:\n\n  $ page-types -p 3386 -Nl -b huge\n  voffset   offset   len    flags\n  7fec7a600 112c00   1      ___UD__________H_G________________\n  7fec7a601 112c01   1ff    ________________TG________________\n               ^^^\n  7fec7a800 113200   1      ___UD__________H_G________________\n  7fec7a801 113201   1ff    ________________TG________________\n               ^^^\n               OK\n\nMore info:\n\n- This patch modifies walk_page_range()\u0027s hugepage walker.  But the\n  change only affects pagemap_read(), which is the only caller of hugepage\n  callback.\n\n- Without this patch, hugetlb_entry() callback is called per vma, that\n  doesn\u0027t match the natural expectation from its name.\n\n- With this patch, hugetlb_entry() is called per hugepte entry and the\n  callback can become much simpler.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb1dc0bacb8ddd7ba6a5906c678a5a5a110cf695",
      "tree": "e3389ae1a09bba9cd84d6981a7e49edb449133bb",
      "parents": [
        "2a7268abc48c8009b284bd88605d14fcb65772ec"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang@windriver.com",
        "time": "Tue Apr 06 14:35:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "kernel.h: fix wrong usage of __ratelimit()\n\nWhen __ratelimit() returns 1 this means that we can go ahead.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang@windriver.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1dd3b2843b3b73b7fc2ee47d96310cd1c051371",
      "tree": "ab7d13e076d255dd2c598a3c819e114a854ae85f",
      "parents": [
        "55ab3a1ff843e3f0e24d2da44e71bffa5d853010"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 06 14:35:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "vfs: rename block_fsync() to blkdev_fsync()\n\nRequested by hch, for consistency now it is exported.\n\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55ab3a1ff843e3f0e24d2da44e71bffa5d853010",
      "tree": "092f383aab3dc57d6780348aa9638d01e99041cf",
      "parents": [
        "da258016293f5e82b36db67ac3db3931a4fbbc4d"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Apr 06 14:34:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "raw: fsync method is now required\n\nCommit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new\nhelpers for syncing after writing to O_SYNC file or IS_SYNC inode) broke\nthe raw driver.\n\nWe now call through generic_file_aio_write -\u003e generic_write_sync -\u003e\nvfs_fsync_range.  vfs_fsync_range has:\n\n        if (!fop || !fop-\u003efsync) {\n                ret \u003d -EINVAL;\n                goto out;\n        }\n\nBut drivers/char/raw.c doesn\u0027t set an fsync method.\n\nWe have two options: fix it or remove the raw driver completely.  I\u0027m\nhappy to do either, the fact this has been broken for so long suggests it\nis rarely used.\n\nThe patch below adds an fsync method to the raw driver.  My knowledge of\nthe block layer is pretty sketchy so this could do with a once over.\n\nIf we instead decide to remove the raw driver, this patch might still be\nuseful as a backport to 2.6.33 and 2.6.32.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nTested-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "530cd330dc3865e3107304a6e84fdc332aa72f7d",
      "tree": "414102f790dac9ad80af3c82935e5164b04a1b5e",
      "parents": [
        "a3a2e76c77fa22b114e421ac11dec0c56c3503fb"
      ],
      "author": {
        "name": "David Härdeman",
        "email": "david@hardeman.nu",
        "time": "Tue Apr 06 14:34:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:02 2010 -0700"
      },
      "message": "include/linux/kfifo.h: fix INIT_KFIFO()\n\nDECLARE_KFIFO creates a union with a struct kfifo and a buffer array with\nsize [size + sizeof(struct kfifo)].\n\nINIT_KFIFO then sets the buffer pointer in struct kfifo to point to the\nbeginning of the buffer array which means that the first call to kfifo_in\nwill overwrite members of the struct kfifo.\n\nSigned-off-by: David Härdeman \u003cdavid@hardeman.nu\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b01d0942c2b7a3026d2b7d38b5773d3d00420e06",
      "tree": "c4be20ad3896269075ca01c98ef7fd0962af4a50",
      "parents": [
        "0fdf86754f70e813845af4abaa805165ce57a0bb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 06 14:34:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:01 2010 -0700"
      },
      "message": "bitops: remove temporary for_each_bit()\n\nMigration has been completed so remove this now.  There\u0027s one straggler in\nlinux-next\u0027s drivers/mtd/sm_ftl.c.  A patch has been sent.\n\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80c802f3073e84c956846e921e8a0b02dfa3755f",
      "tree": "895dc92dcf6b658d78838e0a23db3dd29c8be695",
      "parents": [
        "fe1a5f031e76bd8761a7803d75b95ee96e84a574"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Wed Apr 07 00:30:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 03:43:19 2010 -0700"
      },
      "message": "xfrm: cache bundles instead of policies for outgoing flows\n\n__xfrm_lookup() is called for each packet transmitted out of\nsystem. The xfrm_find_bundle() does a linear search which can\nkill system performance depending on how many bundles are\nrequired per policy.\n\nThis modifies __xfrm_lookup() to store bundles directly in\nthe flow cache. If we did not get a hit, we just create a new\nbundle instead of doing slow search. This means that we can now\nget multiple xfrm_dst\u0027s for same flow (on per-cpu basis).\n\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe1a5f031e76bd8761a7803d75b95ee96e84a574",
      "tree": "c74392cef02c1529b00df6c5d0b8f4239fe091c3",
      "parents": [
        "8020eb82d4c37d21dade0abeb8feed265a01819e"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Wed Apr 07 00:30:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 03:43:18 2010 -0700"
      },
      "message": "flow: virtualize flow cache entry methods\n\nThis allows to validate the cached object before returning it.\nIt also allows to destruct object properly, if the last reference\nwas held in flow cache. This is also a prepartion for caching\nbundles in the flow cache.\n\nIn return for virtualizing the methods, we save on:\n- not having to regenerate the whole flow cache on policy removal:\n  each flow matching a killed policy gets refreshed as the getter\n  function notices it smartly.\n- we do not have to call flow_cache_flush from policy gc, since the\n  flow cache now properly deletes the object if it had any references\n\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7445c995b06f2a999541ccf127886d24a2a7d012",
      "tree": "940cb9cce2e2e3dcbbe3502bf720fd10481769af",
      "parents": [
        "1172234cbe94658c16bc83e50ca57b5a47085209",
        "5f712b2b73a9fc87fcc52124cfe8adefaa0c92f5"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Apr 07 09:54:41 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Apr 07 09:54:41 2010 +0200"
      },
      "message": "Merge branch \u0027fix/asoc\u0027 into for-linus\n"
    },
    {
      "commit": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 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/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "c6537d6742985da1fbf12ae26cde6a096fd35b5c",
      "tree": "c6a9bcb6d500f81efc1ead5d32f8d369b1e8ccb4",
      "parents": [
        "459569145516f7967b916c57445feb02c600668c"
      ],
      "author": {
        "name": "Jon Paul Maloy",
        "email": "jon.maloy@ericsson.com",
        "time": "Tue Apr 06 11:40:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 19:50:19 2010 -0700"
      },
      "message": "TIPC: Updated topology subscription protocol according to latest spec\n\nThis patch makes it explicit in the API that all fields in subscriptions and events exchanged with the Topology Server must be in\nnetwork byte order.\nIt also ensures that all fields of a subscription are compared when cancelling a subscription, in order to avoid inadvertent\ncancelling of the wrong subscription.\nFinally, the tipc module version is updated to 2.0.0, to reflect the API change.\n\nSigned-off-by: Jon Maloy \u003cjon.maloy@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a64c0f6b7ec7f758c4ef445e49f479e27fa2236",
      "tree": "291339f33fd32a7076c98d88386b61b2baddc51d",
      "parents": [
        "cfcfe4469cc39625cb8257355c00dd8f35f900aa"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Tue Apr 06 10:52:44 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 06 16:52:06 2010 -0400"
      },
      "message": "libertas/sdio: 8686: set ECSI bit for 1-bit transfers\n\nWhen operating in 1-bit mode, SDAT1 is used as dedicated interrupt line.\nHowever, the 8686 will only drive this line when the ECSI bit is set in\nthe CCCR_IF register.\n\nThanks to Alagu Sankar for pointing me in the right direction.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alagu Sankar \u003calagusankar@embwise.com\u003e\nCc: Volker Ernst \u003cvolker.ernst@txtr.com\u003e\nCc: Dan Williams \u003cdcbw@redhat.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nCc: Bing Zhao \u003cbzhao@marvell.com\u003e\nCc: libertas-dev@lists.infradead.org\nCc: linux-wireless@vger.kernel.org\nCc: linux-mmc@vger.kernel.org\nAcked-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab195c58b864802c15e494f06ae109413e12d50b",
      "tree": "7b86a6c2a673323b0a90cae227f9fc023eb5b3ff",
      "parents": [
        "cb4361c1dc29cd870f664c004b1817106fbce0fa",
        "445d211b0da4e9a6e6d576edff85085c2aaf53df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:36:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:36:31 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  libata: unlock HPA if device shrunk\n  libata: disable NCQ on Crucial C300 SSD\n  libata: don\u0027t whine on spurious IRQ\n"
    },
    {
      "commit": "445d211b0da4e9a6e6d576edff85085c2aaf53df",
      "tree": "039ade5b49cb0bbd388babc369f28f541c76ec96",
      "parents": [
        "68b0ddb289220b6d4d865be128939663be34959d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 10:33:13 2010 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Apr 06 10:55:33 2010 -0400"
      },
      "message": "libata: unlock HPA if device shrunk\n\nSome BIOSes don\u0027t configure HPA during boot but do so while resuming.\nThis causes harddrives to shrink during resume making libata detach\nand reattach them.  This can be worked around by unlocking HPA if old\nsize equals native size.\n\nAdd ATA_DFLAG_UNLOCK_HPA so that HPA unlocking can be controlled\nper-device and update ata_dev_revalidate() such that it sets\nATA_DFLAG_UNLOCK_HPA and fails with -EIO when the above condition is\ndetected.\n\nThis patch fixes the following bug.\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d15396\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Oleksandr Yermolenko \u003cyaa.bta@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "9d32c30542f9ecdb4b96a1a960924c9f403e3562",
      "tree": "accdc04a9b837b3531e4c53f4cd0dfe8b04ec0e0",
      "parents": [
        "5e28d8eb68c12eab9c4a47b42ba993a6420d71d3"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Mon Apr 05 22:29:09 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Apr 05 23:02:00 2010 -0700"
      },
      "message": "Input: matrix_keypad - allow platform to disable key autorepeat\n\nIn an embedded system the matrix_keypad driver might be used to\ninterface with an external control panel and not an actual keyboard.\nOn the control panel some of the keys could be used to turn on/off\nvarious functions.  If key autorepeat is enabled this causes the\nfunction to quickly toggle between the on and off states and makes\noperation difficult.\n\nAdd an option in the platform-specific data to disable the key\nautorepeat.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "5fbfb18d7a5b846946d52c4a10e3aaa213ec31b6",
      "tree": "bcfa13dec8cb2527c3007b3e5f957cb50e571c64",
      "parents": [
        "7da23b86e14b77c094b11a9fa5ef5b3758fc9193"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Apr 01 19:09:40 2010 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 19:50:02 2010 -0700"
      },
      "message": "Fix up possibly racy module refcounting\n\nModule refcounting is implemented with a per-cpu counter for speed.\nHowever there is a race when tallying the counter where a reference may\nbe taken by one CPU and released by another.  Reference count summation\nmay then see the decrement without having seen the previous increment,\nleading to lower than expected count.  A module which never has its\nactual reference drop below 1 may return a reference count of 0 due to\nthis race.\n\nModule removal generally runs under stop_machine, which prevents this\nrace causing bugs due to removal of in-use modules.  However there are\nother real bugs in module.c code and driver code (module_refcount is\nexported) where the callers do not run under stop_machine.\n\nFix this by maintaining running per-cpu counters for the number of\nmodule refcount increments and the number of refcount decrements.  The\nincrements are tallied after the decrements, so any decrement seen will\nalways have its corresponding increment counted.  The final refcount is\nthe difference of the total increments and decrements, preventing a\nlow-refcount from being returned.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "749d229761ff0135cc4e16b8a28b41ae2f6b2c35",
      "tree": "25551c8cfb38319211f5ee59e78462a0f6fb85c4",
      "parents": [
        "795d580baec0d5386b83a8b557df47c20810e86b",
        "3dc9fef67f6292692dba181a6d0fd0211bd0a607"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:42:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 13:42:54 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: saving negative to unsigned char\n  9p: return on mutex_lock_interruptible()\n  9p: Creating files with names too long should fail with ENAMETOOLONG.\n  9p: Make sure we are able to clunk the cached fid on umount\n  9p: drop nlink remove\n  fs/9p: Clunk the fid resulting from partial walk of the name\n  9p: documentation update\n  9p: Fix setting of protocol flags in v9fs_session_info structure.\n"
    },
    {
      "commit": "5f712b2b73a9fc87fcc52124cfe8adefaa0c92f5",
      "tree": "0e7ab3cedba6b50cdf603c433b79ceebf23972b0",
      "parents": [
        "d522ffbfb9fccf6eca283cd2e8b03cf3d21fb616"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Mar 22 10:11:15 2010 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 05 19:14:11 2010 +0100"
      },
      "message": "ALSA: ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream\n\nThis fixes a memory corruption when ASoC devices are used in\nfull-duplex mode. Specifically for pxa-ssp code, where this pointer\nis dynamically allocated for each direction and destroyed upon each\nstream start.\n\nAll other platforms are fixed blindly, I couldn\u0027t even compile-test\nthem. Sorry for any breakage I may have caused.\n\n[Note that this is a backported version for 2.6.34.\n Upstream commit is fd23b7dee]\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nReported-by: Sven Neumann \u003cs.neumann@raumfeld.com\u003e\nReported-by: Michael Hirsch \u003cm.hirsch@raumfeld.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "b66696e3c0d8fc01efdbc701eba1276618332cb3",
      "tree": "3094ef42787b8e0c900bce1f2391ced081ed1ba4",
      "parents": [
        "9e74e7c81a24aee66024fc477786bd1de84e293b",
        "a32f3926632e71c8aa23ce32fe2625f8d5f792c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:39:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:39:11 2010 -0700"
      },
      "message": "Merge branch \u0027slabh\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc\n\n* \u0027slabh\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:\n  eeepc-wmi: include slab.h\n  staging/otus: include slab.h from usbdrv.h\n  percpu: don\u0027t implicitly include slab.h from percpu.h\n  kmemcheck: Fix build errors due to missing slab.h\n  include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n  iwlwifi: don\u0027t include iwl-dev.h from iwl-devtrace.h\n  x86: don\u0027t include slab.h from arch/x86/include/asm/pgtable_32.h\n\nFix up trivial conflicts in include/linux/percpu.h due to\nis_kernel_percpu_address() having been introduced since the slab.h\ncleanup with the percpu_up.c splitup.\n"
    },
    {
      "commit": "9e74e7c81a24aee66024fc477786bd1de84e293b",
      "tree": "8f172b7e5a86fe6b51e46f1d219e9c0707beab60",
      "parents": [
        "4946d54cb55e86a156216fcfeed5568514b0830f",
        "d5e50daf92df8afcb701fd717b301985691e802f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:16:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:16:37 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  module: add stub for is_module_percpu_address\n  percpu, module: implement and use is_kernel/module_percpu_address()\n  module: encapsulate percpu handling better and record percpu_size\n"
    }
  ],
  "next": "6d96d3ab7aea5f0e75205a0c97f8d1fdf82c5287"
}
