)]}'
{
  "log": [
    {
      "commit": "f13ec93fba60d339dc1663eb47b2fb801225d2d2",
      "tree": "1f6f12311f307d46b33a2a2afae43853f28fb5ad",
      "parents": [
        "d09f51b6997f3f443c5741bc696651e479576715"
      ],
      "author": {
        "name": "Dmitry Butskoy",
        "email": "dmitry@butskoy.name",
        "time": "Sat Jul 14 23:53:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 23:53:08 2007 -0700"
      },
      "message": "[IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets\n\nFrom: Dmitry Butskoy \u003cdmitry@butskoy.name\u003e\n\nTaken from http://bugzilla.kernel.org/show_bug.cgi?id\u003d8747\n\nProblem Description:\n\nIt is related to the possibility to obtain MSG_ERRQUEUE messages from the udp\nand raw sockets, both connected and unconnected.\n\nThere is a little typo in net/ipv6/icmp.c code, which prevents such messages\nto be delivered to the errqueue of the correspond raw socket, when the socket\nis CONNECTED.  The typo is due to swap of local/remote addresses.\n\nConsider __raw_v6_lookup() function from net/ipv6/raw.c. When a raw socket is\nlooked up usual way, it is something like:\n\nsk \u003d __raw_v6_lookup(sk, nexthdr, daddr, saddr, IP6CB(skb)-\u003eiif);\n\nwhere \"daddr\" is a destination address of the incoming packet (IOW our local\naddress), \"saddr\" is a source address of the incoming packet (the remote end).\n\nBut when the raw socket is looked up for some icmp error report, in\nnet/ipv6/icmp.c:icmpv6_notify() , daddr/saddr are obtained from the echoed\nfragment of the \"bad\" packet, i.e.  \"daddr\" is the original destination\naddress of that packet, \"saddr\" is our local address.  Hence, for\nicmpv6_notify() must use \"saddr, daddr\" in its arguments, not \"daddr, saddr\"\n...\n\nSteps to reproduce:\n\nCreate some raw socket, connect it to an address, and cause some error\nsituation: f.e. set ttl\u003d1 where the remote address is more than 1 hop to reach.\nSet IPV6_RECVERR .\nThen send something and wait for the error (f.e. poll() with POLLERR|POLLIN).\nYou should receive \"time exceeded\" icmp message (because of \"ttl\u003d1\"), but the\nsocket do not receive it.\n\nIf you do not connect your raw socket, you will receive MSG_ERRQUEUE\nsuccessfully.  (The reason is that for unconnected socket there are no actual\nchecks for local/remote addresses).\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d09f51b6997f3f443c5741bc696651e479576715",
      "tree": "6d5eefcbaa9f46d44e8cad626011e886b5d1840c",
      "parents": [
        "1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c",
        "e559e91cce3af215d78b7262360f19b95978aab3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 23:47:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 23:47:04 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nConflicts:\n\n\tcrypto/Kconfig\n"
    },
    {
      "commit": "1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c",
      "tree": "52b309bb91de1b4ca82b8a3b505dcfcd9a0812c6",
      "parents": [
        "0621ed2e4edbe2f6f83dafbf85eecefae7aaf2e8"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Jul 14 20:51:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:51:44 2007 -0700"
      },
      "message": "[IPV4]: Cleanup call to __neigh_lookup()\n\nBack in the times of Linux 2.2, negative values for the creat parameter\nof __neigh_lookup() had a particular meaning, but no longer, so we\nshould pass 1 instead.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0621ed2e4edbe2f6f83dafbf85eecefae7aaf2e8",
      "tree": "30e005117719da029a238b88c742b0a7e516ad50",
      "parents": [
        "59eecdfb166f6846ae356ddc744abed5820ad965"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 20:49:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:49:26 2007 -0700"
      },
      "message": "[NET_SCHED]: Revert \"avoid transmit softirq on watchdog wakeup\" optimization\n\nAs noticed by Ranko Zivojnovic \u003cranko@spidernet.net\u003e, calling qdisc_run\nfrom the timer handler can result in deadlock:\n\n\u003e CPU#0\n\u003e\n\u003e qdisc_watchdog() fires and gets dev-\u003equeue_lock\n\u003e qdisc_run()...qdisc_restart()...\n\u003e -\u003e releases dev-\u003equeue_lock and enters dev_hard_start_xmit()\n\u003e\n\u003e CPU#1\n\u003e\n\u003e tc del qdisc dev ...\n\u003e qdisc_graft()...dev_graft_qdisc()...dev_deactivate()...\n\u003e -\u003e grabs dev-\u003equeue_lock ...\n\u003e\n\u003e qdisc_reset()...{cbq,hfsc,htb,netem,tbf}_reset()...qdisc_watchdog_cancel()...\n\u003e -\u003e hrtimer_cancel() - waiting for the qdisc_watchdog() to exit, while still\n\u003e\t\t        holding dev-\u003equeue_lock\n\u003e\n\u003e CPU#0\n\u003e\n\u003e dev_hard_start_xmit() returns ...\n\u003e -\u003e wants to get dev-\u003equeue_lock(!)\n\u003e\n\u003e DEADLOCK!\n\nThe entire optimization is a bit questionable IMO, it moves potentially\nlarge parts of NET_TX_SOFTIRQ work to TIMER_SOFTIRQ/HRTIMER_SOFTIRQ,\nwhich kind of defeats the separation of them.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Ranko Zivojnovic \u003cranko@spidernet.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59eecdfb166f6846ae356ddc744abed5820ad965",
      "tree": "5cfbafad5bcb8d5197b9f515f1e23387427cea29",
      "parents": [
        "61075af51f252913401c41fbe94075b46c94e9f1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 20:48:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:48:44 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: UDPLITE support\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61075af51f252913401c41fbe94075b46c94e9f1",
      "tree": "bf97f2a5ed93ed1767953b0ae8678d921ebc0473",
      "parents": [
        "370786f9cfd430cb424f00ce4110e75bb1b95a19"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 20:48:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:48:19 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: mark protocols __read_mostly\n\nAlso remove two unnecessary EXPORT_SYMBOLs and move the\nnf_conntrack_l3proto_ipv4 declaration to the correct file.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "370786f9cfd430cb424f00ce4110e75bb1b95a19",
      "tree": "df0e51882850f8db8da8f6e4ab746179b1993b9c",
      "parents": [
        "a887c1c148ffb3eb1c193e9869ca5297c6e22078"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Sat Jul 14 20:47:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:47:26 2007 -0700"
      },
      "message": "[NETFILTER]: x_tables: add connlimit match\n\nipt_connlimit has been sitting in POM-NG for a long time.\nHere is a new shiny xt_connlimit with:\n\n * xtables\u0027ified\n * will request the layer3 module\n   (previously it hotdropped every packet when it was not loaded)\n * fixed: there was a deadlock in case of an OOM condition\n * support for any layer4 protocol (e.g. UDP/SCTP)\n * using jhash, as suggested by Eric Dumazet\n * ipv6 support\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a887c1c148ffb3eb1c193e9869ca5297c6e22078",
      "tree": "d0fe99a74d2fad3984aa4b3946f9b50b5adebbce",
      "parents": [
        "130e7a83d7ec8c5c673225e0fa8ea37b1ed507a5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 20:46:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:46:15 2007 -0700"
      },
      "message": "[NETFILTER]: Lower *tables printk severity\n\nLower ip6tables, arptables and ebtables printk severity similar to\nDan Aloni\u0027s patch for iptables.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "130e7a83d7ec8c5c673225e0fa8ea37b1ed507a5",
      "tree": "35b4d5f60070309cb592b156590c1fb431e37ef6",
      "parents": [
        "e2a3123fbe58da9fd3f35cd242087896ace6049f"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Jul 14 20:45:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:45:41 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: Don\u0027t track locally generated special ICMP error\n\nThe conntrack assigned to locally generated ICMP error is usually the one\nassigned to the original packet which has caused the error. But if\nthe original packet is handled as invalid by nf_conntrack, no conntrack\nis assigned to the original packet. Then nf_ct_attach() cannot assign\nany conntrack to the ICMP error packet. In that case the current\nnf_conntrack_icmp assigns appropriate conntrack to it. But the current\ncode mistakes the direction of the packet. As a result, NAT code mistakes\nthe address to be mangled.\n\nTo fix the bug, this changes nf_conntrack_icmp not to assign conntrack\nto such ICMP error. Actually no address is necessary to be mangled\nin this case.\n\nSpotted by Jordan Russell.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2a3123fbe58da9fd3f35cd242087896ace6049f",
      "tree": "f17f8b6f505bb50be97e204c382a92288f75c986",
      "parents": [
        "ffc30690480bdd337e4914302b926d24870b56b2"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Jul 14 20:45:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:45:14 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it\n\nnf_ct_get_tuple() requires the offset to transport header and that bothers\ncallers such as icmp[v6] l4proto modules. This introduces new function\nto simplify them.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffc30690480bdd337e4914302b926d24870b56b2",
      "tree": "805dfdda135a6f91648aded75b1cfb754705a4b4",
      "parents": [
        "d87d8469e2dd19a3a134b99f78288d41854c614b"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Jul 14 20:44:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:44:50 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: make l3proto-\u003eprepare() generic and renames it\n\nThe icmp[v6] l4proto modules parse headers in ICMP[v6] error to get tuple.\nBut they have to find the offset to transport protocol header before that.\nTheir processings are almost same as prepare() of l3proto modules.\nThis makes prepare() more generic to simplify icmp[v6] l4proto module\nlater.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d87d8469e2dd19a3a134b99f78288d41854c614b",
      "tree": "c976ea2c818ecfb1fb3b6d96eaa2bd7859c19d09",
      "parents": [
        "6460d948f3ebf7d5040328a60a0ab7221f69945b"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Sat Jul 14 20:44:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:44:23 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6460d948f3ebf7d5040328a60a0ab7221f69945b",
      "tree": "d7c2a7eda9f20a03698df32bdc4677ca0c2479d5",
      "parents": [
        "febca281f677a775c61cd0572c2f35e4ead9e7d5"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Sat Jul 14 19:07:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:07:52 2007 -0700"
      },
      "message": "[NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices.\n\nAdd ethtool utility function to set or clear IPV6_CSUM feature flag.\nModify tg3.c and bnx2.c to use this function when doing ethtool -K\nto change tx checksum.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "febca281f677a775c61cd0572c2f35e4ead9e7d5",
      "tree": "64a58deba476ff3dbc7468d6d2e8e33e1351bf68",
      "parents": [
        "13fdc9a74df0fec70f421c6891e184ed8c3b9088"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Sat Jul 14 19:04:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:04:25 2007 -0700"
      },
      "message": "[AF_IUCV]: Add lock when updating accept_q\n\nThe accept_queue of an af_iucv socket will be corrupted, if\nadding and deleting of entries in this queue occurs at the\nsame time (connect request from one client, while accept call\nis processed for another client).\nSolution: add locking when updating accept_q\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nAcked-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13fdc9a74df0fec70f421c6891e184ed8c3b9088",
      "tree": "efd81d0f35e2300ee86e538fa8c136654c7c0dae",
      "parents": [
        "da7de31cc50796a53593785d4508b7b7ffa9a9b2"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Sat Jul 14 19:03:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:03:41 2007 -0700"
      },
      "message": "[AF_IUCV]: Avoid deadlock between iucv_path_connect and tasklet.\n\nAn iucv deadlock may occur, where one CPU is spinning on the\niucv_table_lock for iucv_tasklet_fn(), while another CPU is holding\nthe iucv_table_lock for an iucv_path_connect() and is waiting for\nthe first CPU in an smp_call_function.\nSolution: replace spin_lock in iucv_tasklet_fn by spin_trylock and\nreschedule tasklet in case of non-granted lock.\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nAcked-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da7de31cc50796a53593785d4508b7b7ffa9a9b2",
      "tree": "bbd3dd15b45b5093de93dc32f585eb6c56c4d871",
      "parents": [
        "acd159b6b5828175be6b9ccccd9b054239ec63e9"
      ],
      "author": {
        "name": "Jennifer Hunt",
        "email": "jenhunt@us.ibm.com",
        "time": "Sat Jul 14 19:03:00 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:03:00 2007 -0700"
      },
      "message": "[AF_IUCV]: Improve description of IUCV and AFIUCV configuration options.\n\nSigned-off-by: Jennifer Hunt \u003cjenhunt@us.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003ebraunu@de.ibm.com\u003e\nAcked-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acd159b6b5828175be6b9ccccd9b054239ec63e9",
      "tree": "bf0af1a1700a114f489bce36a85f8b0947287268",
      "parents": [
        "cf3842ec5015c862f4869e3641a8549393bb958e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jul 14 19:00:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:00:59 2007 -0700"
      },
      "message": "[INET_SOCK]: make net/ipv4/inet_timewait_sock.c:__inet_twsk_kill() static\n\nThis patch makes the needlessly global __inet_twsk_kill() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf3842ec5015c862f4869e3641a8549393bb958e",
      "tree": "6c2f0158504f3463fcca1359de90b699cb636e97",
      "parents": [
        "b3b0b681b12478a7afa7d1f3d58be96830e16c7d",
        "63fc33ceb0ccc08b3f62d7bfe56a33eb33ca9427"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 18:58:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 18:58:49 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-davem\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "b3b0b681b12478a7afa7d1f3d58be96830e16c7d",
      "tree": "3e3dc5d37d88bdc53c9cdc27fa0cb655195129f8",
      "parents": [
        "a7ecfc866578e665e20004a2f5fff5b73e8be3bc"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sat Jul 14 18:57:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:57:19 2007 -0700"
      },
      "message": "[TCP]: tcp probe add back ssthresh field\n\nSangtae noticed the ssthresh got missed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7ecfc866578e665e20004a2f5fff5b73e8be3bc",
      "tree": "9967d6cc6eb1e098251f4e230266caa69616b4f1",
      "parents": [
        "b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:56:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:56:30 2007 -0700"
      },
      "message": "[VLAN]: Fix memset length\n\nFix sizeof(ETH_ALEN) Introduced by my rtnl_link patches.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53",
      "tree": "a65d5e4be77666600c0005c5f4c9091df63a3a1b",
      "parents": [
        "56addd6eeeb4e11f5a0af7093ca078e0f29140e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "message": "[NET]: Add macvlan driver\n\nAdd macvlan driver, which allows to create virtual ethernet devices\nbased on MAC address.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56addd6eeeb4e11f5a0af7093ca078e0f29140e0",
      "tree": "814e84aa686d9fec602f977901634ebf576d039d",
      "parents": [
        "6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:53:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:53:28 2007 -0700"
      },
      "message": "[VLAN]: Use multicast list synchronization helpers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde",
      "tree": "21e4a2ea3eb7ed87ce525c59bb8c4d23d8c84589",
      "parents": [
        "a0a400d79e3dd7843e7e81baa3ef2957bdc292d0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:52:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:52:56 2007 -0700"
      },
      "message": "[VLAN]: Fix promiscous/allmulti synchronization races\n\nThe set_multicast_list function may be called without holding the rtnl\nmutex, resulting in races when changing the underlying device\u0027s promiscous\nand allmulti state. Use the change_rx_mode hook, which is always invoked\nunder the rtnl.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0a400d79e3dd7843e7e81baa3ef2957bdc292d0",
      "tree": "1391190938fb43587967f44f0ab139a2522b4a65",
      "parents": [
        "24023451c8df726692e2f52288a20870d13b501f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:52:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:52:02 2007 -0700"
      },
      "message": "[NET]: dev_mcast: add multicast list synchronization helpers\n\nThe method drivers currently use to synchronize multicast lists is not\nvery pretty:\n\n- walk the multicast list\n- search each entry on a copy of the previous list\n- if new add to lower device\n- walk the copy of the previous list\n- search each entry on the current list\n- if removed delete from lower device\n- copy entire list\n\nThis patch adds a new field to struct dev_addr_list to store the\nsynchronization state and adds two helper functions for synchronization\nand cleanup.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24023451c8df726692e2f52288a20870d13b501f",
      "tree": "b80c48dfe817a1a18484dadbc110ca07353c86c8",
      "parents": [
        "e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:51:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:51:31 2007 -0700"
      },
      "message": "[NET]: Add net_device change_rx_mode callback\n\nCurrently the set_multicast_list (and set_rx_mode) callbacks are\nresponsible for configuring the device according to the IFF_PROMISC,\nIFF_MULTICAST and IFF_ALLMULTI flags and the mc_list (and uc_list in\ncase of set_rx_mode).\n\nThese callbacks can be invoked from BH context without the rtnl_mutex\nby dev_mc_add/dev_mc_delete, which makes reading the device flags and\npromiscous/allmulti count racy. For real hardware drivers that just\ncommit all changes to the hardware this is not a real problem since\nthe stack guarantees to call them for every change, so at least the\nfinal call will not race and commit the correct configuration to the\nhardware.\n\nFor software devices that want to synchronize promiscous and multicast\nstate to an underlying device however this can cause corruption of the\nunderlying device\u0027s flags or promisc/allmulti counts.\n\nWhen the software device is concurrently put in promiscous or allmulti\nmode while set_multicast_list is invoked from bottem half context, the\ndevice might synchronize the change to the underlying device without\nholding the rtnl_mutex, which races with concurrent changes to the\nunderlying device.\n\nAdd a dev-\u003echange_rx_flags hook that is invoked when any of the flags\nthat affect rx filtering change (under the rtnl_mutex), which allows\ndrivers to perform synchronization immediately and only synchronize\nthe address lists in set_multicast_list/set_rx_mode.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57",
      "tree": "4097167cef775da1006b762f30ceff323ccf6071",
      "parents": [
        "8d9107e8c50e1c4ff43c91c8841805833f3ecfb9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 14 18:50:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:50:15 2007 -0700"
      },
      "message": "[RFKILL]: fix net/rfkill/rfkill-input.c bug on 64-bit systems\n\nSubject: [patch] net/input: fix net/rfkill/rfkill-input.c bug on 64-bit systems\n\nthis recent commit:\n\n commit cf4328cd949c2086091c62c5685f1580fe9b55e4\n Author: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\n Date:   Mon May 7 00:34:20 2007 -0700\n\n     [NET]: rfkill: add support for input key to control wireless radio\n\nadded this 64-bit bug:\n\n        ....\n\tunsigned int flags;\n \n \tspin_lock_irqsave(\u0026task-\u003elock, flags);\n        ....\n\nirq \u0027flags\u0027 must be unsigned long, not unsigned int. The -rt tree has \nstrict checks about this on 64-bit so this triggered a build failure. \n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d9107e8c50e1c4ff43c91c8841805833f3ecfb9",
      "tree": "abc57f38cf659d4031d5a9915a088f2c47b2cc7e",
      "parents": [
        "16cefa8c3863721fd40445a1b34dea18cd16ccfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:53:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:53:18 2007 -0700"
      },
      "message": "Revert \"SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel\"\n\nThis reverts commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0.\n\nIt bit people like Michal Piotrowski:\n\n  \"My system is too secure, I can not login :)\"\n\nbecause it changed how CONFIG_NETLABEL worked, and broke older SElinux\npolicies.\n\nAs a result, quoth James Morris:\n\n  \"Can you please revert this patch?\n\n   We thought it only affected people running MLS, but it will affect others.\n\n   Sorry for the hassle.\"\n\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16cefa8c3863721fd40445a1b34dea18cd16ccfe",
      "tree": "c8e58ca06e2edfd667d3e6062a642b80cc58e5e7",
      "parents": [
        "4fbef206daead133085fe33905f5e842d38fb8da",
        "d8558f99fbc5ef5d4ae76b893784005056450f82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (122 commits)\n  sunrpc: drop BKL around wrap and unwrap\n  NFSv4: Make sure unlock is really an unlock when cancelling a lock\n  NLM: fix source address of callback to client\n  SUNRPC client: add interface for binding to a local address\n  SUNRPC server: record the destination address of a request\n  SUNRPC: cleanup transport creation argument passing\n  NFSv4: Make the NFS state model work with the nosharedcache mount option\n  NFS: Error when mounting the same filesystem with different options\n  NFS: Add the mount option \"nosharecache\"\n  NFS: Add support for mounting NFSv4 file systems with string options\n  NFS: Add final pieces to support in-kernel mount option parsing\n  NFS: Introduce generic mount client API\n  NFS: Add enums and match tables for mount option parsing\n  NFS: Improve debugging output in NFS in-kernel mount client\n  NFS: Clean up in-kernel NFS mount\n  NFS: Remake nfsroot_mount as a permanent part of NFS client\n  SUNRPC: Add a convenient default for the hostname when calling rpc_create()\n  SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name\n  SUNRPC: Rename rpcb_getport_external routine\n  SUNRPC: Allow rpcbind requests to be interrupted by a signal.\n  ...\n"
    },
    {
      "commit": "4fbef206daead133085fe33905f5e842d38fb8da",
      "tree": "94689f4fc018e0a599db08a6902fbc079d33c07e",
      "parents": [
        "4fd885170bf13841ada921495b7b00c4b9971cf9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 13 22:42:20 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:45:43 2007 -0700"
      },
      "message": "nfsd: fix nfsd_vfs_read() splice actor setup\n\nWhen nfsd was transitioned to use splice instead of sendfile() for data\ntransfers, a line setting the page index was lost. Restore it, so that\nnfsd is functional when that path is used.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fd885170bf13841ada921495b7b00c4b9971cf9",
      "tree": "504a949de4700d7d995aab93ff941930b9e05ce0",
      "parents": [
        "af09f1e4b3214569de93bc9309c35014e5c8a3d0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 13 21:43:55 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:45:43 2007 -0700"
      },
      "message": "CFS: Fix missing digit off in wmult table\n\nRoman Zippel noticed another inconsistency of the wmult table.\n\nwmult[16] has a missing digit.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af09f1e4b3214569de93bc9309c35014e5c8a3d0",
      "tree": "cb5dc861a5114fca5cd9e52e0d25f835bdd79c42",
      "parents": [
        "e030dbf91a87da7e8be3be3ca781558695bea683",
        "9a60ddbcb710ff78cd8c772681723a04e3f5aba3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:06:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:06:30 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Fix typos in powernow-k8 printk\u0027s.\n  [CPUFREQ] Restore previously used governor on a hot-replugged CPU\n  [CPUFREQ] bugfix cpufreq in combination with performance governor\n  [CPUFREQ] powernow-k8 compile fix.\n  [CPUFREQ] the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI\n  [CPUFREQ] Longhaul - Option to disable ACPI C3 support\n\nFixed up arch/i386/kernel/cpu/cpufreq/powernow-k8.c due to revert that\ngot fixed differently in the cpufreq branch.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e030dbf91a87da7e8be3be3ca781558695bea683",
      "tree": "4ff2e01621a888be4098ca48c404775e56a55a0d",
      "parents": [
        "12a22960549979c10a95cc97f8ec63b461c55692",
        "3039f0735a280b54c7364fbfe6a9287f7f0b510a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "message": "Merge branch \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop\n\n* \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop: (28 commits)\n  ioatdma: add the unisys \"i/oat\" pci vendor/device id\n  ARM: Add drivers/dma to arch/arm/Kconfig\n  iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver\n  iop13xx: surface the iop13xx adma units to the iop-adma driver\n  dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines\n  md: remove raid5 compute_block and compute_parity5\n  md: handle_stripe5 - request io processing in raid5_run_ops\n  md: handle_stripe5 - add request/completion logic for async expand ops\n  md: handle_stripe5 - add request/completion logic for async read ops\n  md: handle_stripe5 - add request/completion logic for async check ops\n  md: handle_stripe5 - add request/completion logic for async compute ops\n  md: handle_stripe5 - add request/completion logic for async write ops\n  md: common infrastructure for running operations with raid5_run_ops\n  md: raid5_run_ops - run stripe operations outside sh-\u003elock\n  raid5: replace custom debug PRINTKs with standard pr_debug\n  raid5: refactor handle_stripe5 and handle_stripe6 (v3)\n  async_tx: add the async_tx api\n  xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n  dmaengine: make clients responsible for managing channels\n  dmaengine: refactor dmaengine around dma_async_tx_descriptor\n  ...\n"
    },
    {
      "commit": "12a22960549979c10a95cc97f8ec63b461c55692",
      "tree": "87b4130e0ae0f2a548087a3934bb7dba37ed6e87",
      "parents": [
        "31c4ab430a448cfb13fc88779d8a870c7af9f72b",
        "51a92c0f6ce8fa85fa0e18ecda1d847e606e8066"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:51:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:51:07 2007 -0700"
      },
      "message": "Merge branch \u0027splice-2.6.23\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027splice-2.6.23\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  splice: fix offset mangling with direct splicing (sendfile)\n  security: revalidate rw permissions for sys_splice and sys_vmsplice\n  relay: fixup kerneldoc comment\n  relay: fix bogus cast in subbuf_splice_actor()\n"
    },
    {
      "commit": "31c4ab430a448cfb13fc88779d8a870c7af9f72b",
      "tree": "aec64a8204ea8f89e9743cb16253de9deea4200d",
      "parents": [
        "8b69ad0e690eb5f38c23087247a12e5fde1baeff",
        "f24ae12b3eeb1b956b752d4d5907e311cfa95a1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:44:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:44:45 2007 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Workaround for a sparse warning in include/asm-mips/mach-tx4927/ioremap.h\n  [MIPS] Make show_code static and add __user tag\n  [MIPS] Workaround for a sparse warning in include/asm-mips/compat.h\n  [MIPS] Add some __user tags\n  [MIPS] math-emu minor cleanup\n  [MIPS] Kill CONFIG_TX4927BUG_WORKAROUND\n  [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_FB_XPERT98\n  [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_SRC_CLK\n  [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_USE32K\n  [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1XXX_PSC_SPI\n  [CHAR] Delete leftovers of old Alchemy UART driver\n"
    },
    {
      "commit": "8b69ad0e690eb5f38c23087247a12e5fde1baeff",
      "tree": "373d790bff8a50fec0e19daf26c30a6b1eb72a71",
      "parents": [
        "aba2da66cfbf7790ad79d4dee95871127d5ddf5e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:43:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:43:52 2007 -0700"
      },
      "message": "Revert \"[CPUFREQ] powernow-k8: clarify number of cores.\"\n\nThis reverts commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff.\n\nAs noted by Peter Anvin:\n\n  \"It causes build failures on i386.\n\n   Yet another case of unnecessary divergence between i386 and x86-64\n   I\u0027m afraid...\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aba2da66cfbf7790ad79d4dee95871127d5ddf5e",
      "tree": "974585e8419f63ebc2fa1e244c494b6b53f5842d",
      "parents": [
        "773208946a132fb733ba273ee8562814f828cc28",
        "f787a50306680c187cf2896a8017937c1bf6dc7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:12:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:13:37 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  [PATCH] sched: small topology.h cleanup\n  [PATCH] sched: fix show_task()/show_tasks() output\n  [PATCH] sched: remove stale version info from kernel/sched_debug.c\n  [PATCH] sched: allow larger granularity\n  [PATCH] sched: fix prio_to_wmult[] for nice 1\n\n[ I re-did the commits to get rid of some bogus merge commit that\n  Ingo had. - Linus ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f787a50306680c187cf2896a8017937c1bf6dc7e",
      "tree": "1dbc2b37c53759bde6e227e6502ad5555388f305",
      "parents": [
        "4bd77321a833077c5c9ac7b9d284e261e4a8906e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 11 21:21:47 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:11:52 2007 -0700"
      },
      "message": "[PATCH] sched: small topology.h cleanup\n\ntrivial cleanup: LOCAL_DISTANCE and REMOTE_DISTANCE are only used in\ntopology.h and inside an #ifndef section - limit their existence to\nthat #ifndef.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bd77321a833077c5c9ac7b9d284e261e4a8906e",
      "tree": "e24fadab783702c410b5bcf075f32f17ed11e58a",
      "parents": [
        "45f384a64f0769bb9a3caf0516de88a629f48e61"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 11 21:21:47 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:11:17 2007 -0700"
      },
      "message": "[PATCH] sched: fix show_task()/show_tasks() output\n\nfix show_task()/show_tasks() output:\n\n- there\u0027s no sibling info anymore\n\n- the fields were not aligned properly with the description\n\n- get rid of the lazy-TLB output: it\u0027s been quite some time since\n  we last had a bug there, and when we had a bug it wasnt helped a\n  bit by this debug output.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45f384a64f0769bb9a3caf0516de88a629f48e61",
      "tree": "3a0bdd0a054d595ce3280670e2fe0ca9a18acbbf",
      "parents": [
        "a5968df8737eda477d9d1038f5428ebd4d0884e1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 11 21:21:47 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:10:41 2007 -0700"
      },
      "message": "[PATCH] sched: remove stale version info from kernel/sched_debug.c\n\nkernel/sched_debug.c referred to CFS -v20, but there\u0027s no CFS versioning\nneeded within the upstream kernel.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5968df8737eda477d9d1038f5428ebd4d0884e1",
      "tree": "59b8c15aa6a7dee6eb6ce5a9aa1e970b7a183f65",
      "parents": [
        "e127031f4f76dc367c5d2f9d883715730dd82f7d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 11 21:21:47 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:10:08 2007 -0700"
      },
      "message": "[PATCH] sched: allow larger granularity\n\nAllow granularity up to 100 msecs, instead of 10 msecs.\n(needed on larger boxes)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e127031f4f76dc367c5d2f9d883715730dd82f7d",
      "tree": "0617840dfa144c56c9c011475d27ba015806d28f",
      "parents": [
        "4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jul 11 21:21:47 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:09:02 2007 -0700"
      },
      "message": "[PATCH] sched: fix prio_to_wmult[] for nice 1\n\nThere\u0027s a typo in the values in prio_to_wmult[] for nice level 1.  While\nit did not cause bad CPU distribution, but caused more rescheduling\nbetween nice-0 and nice-1 tasks than necessary.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f24ae12b3eeb1b956b752d4d5907e311cfa95a1a",
      "tree": "863e5b10054b4f4fb163229ccdbde208fec246ba",
      "parents": [
        "e1bb828906e54ffb7e8b358516158ffdcf9581b8"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Jul 14 00:06:44 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:01 2007 +0100"
      },
      "message": "[MIPS] Workaround for a sparse warning in include/asm-mips/mach-tx4927/ioremap.h\n\ninclude2/asm/mach-tx49xx/ioremap.h:39:52: warning: cast truncates bits from constant value (fff000000 becomes ff000000)\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e1bb828906e54ffb7e8b358516158ffdcf9581b8",
      "tree": "ea331d810e18ba791d6ded6fe7b8e6c45c0e8b20",
      "parents": [
        "01bebc66793f2cc65104452dc319a8a99f005934"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Fri Jul 13 23:51:46 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:01 2007 +0100"
      },
      "message": "[MIPS] Make show_code static and add __user tag\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "01bebc66793f2cc65104452dc319a8a99f005934",
      "tree": "b559bf839d1b8bcf88686e5a917a94caf286adae",
      "parents": [
        "5e0373b8e449b0c72495a6d8401c53f678b71988"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Fri Jul 13 23:51:38 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:01 2007 +0100"
      },
      "message": "[MIPS] Workaround for a sparse warning in include/asm-mips/compat.h\n\nCast to a __user pointer via \"unsigned long\" to get rid of this warning:\n\ninclude2/asm/compat.h:135:10: warning: cast adds address space to expression (\u003casn:1\u003e)\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "5e0373b8e449b0c72495a6d8401c53f678b71988",
      "tree": "a78f743ba84a62fcde92c9aff614aed69c382cc6",
      "parents": [
        "e70dfc10b99ebffa1f464b1b9290df2589284f70"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Fri Jul 13 23:02:42 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:01 2007 +0100"
      },
      "message": "[MIPS] Add some __user tags\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e70dfc10b99ebffa1f464b1b9290df2589284f70",
      "tree": "cf781d6ee4bc032ea7ac24a2b8eb53de33d9cb18",
      "parents": [
        "e50e1c744df20e704441a99eef7c6414e6920712"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Fri Jul 13 23:02:29 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:00 2007 +0100"
      },
      "message": "[MIPS] math-emu minor cleanup\n\nDeclaring emulpc and contpc as \"unsigned long\" can get rid of some casts.\nThis also get rid of some sparse warnings.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e50e1c744df20e704441a99eef7c6414e6920712",
      "tree": "4b8d4b52263f3fded8d36e675f4861fe2ac36796",
      "parents": [
        "b58f4b7aaf5ddaf2fdc13dfeb3ce6e61d51c3ac5"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Fri Jul 13 02:00:26 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:00 2007 +0100"
      },
      "message": "[MIPS] Kill CONFIG_TX4927BUG_WORKAROUND\n\nKill workarounds for very early chip (perhaps pre-TX4927A).\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "b58f4b7aaf5ddaf2fdc13dfeb3ce6e61d51c3ac5",
      "tree": "daadb44fd3d40111e20998262064be77e8b397aa",
      "parents": [
        "85a882bc3553636930bef7773201955c0e2fcf99"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 10:40:23 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:00 2007 +0100"
      },
      "message": "[MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_FB_XPERT98\n\nNoticed by Robert P. J. Day (rpjday@mindspring.com).\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "85a882bc3553636930bef7773201955c0e2fcf99",
      "tree": "ace3340f963d262ea07fc8924ef6d421f773a301",
      "parents": [
        "8f597acab2742b7ae9a556613c389ffa914cdbbd"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 06:45:48 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:00 2007 +0100"
      },
      "message": "[MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_SRC_CLK\n\nNoticed by Robert P. J. Day (rpjday@mindspring.com).\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "8f597acab2742b7ae9a556613c389ffa914cdbbd",
      "tree": "2b848879a8d7c39e675ca2eb49cef9bea86e8724",
      "parents": [
        "6fec2e1727049ce6a404f4af61461d860594d5db"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 06:42:36 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:00 2007 +0100"
      },
      "message": "[MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_USE32K\n\nNoticed by Robert P. J. Day (rpjday@mindspring.com).\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "6fec2e1727049ce6a404f4af61461d860594d5db",
      "tree": "7d2e1da9afe1a3a64af364b5e0ea7ae4e01fab86",
      "parents": [
        "33f60da0dad0884256f888c19303e16c95d2086d"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 06:33:09 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:40:00 2007 +0100"
      },
      "message": "[MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1XXX_PSC_SPI\n\nNoticed by Robert P. J. Day (rpjday@mindspring.com).\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "33f60da0dad0884256f888c19303e16c95d2086d",
      "tree": "66825665955d52f220bde088bb99fcf6dc5e83b9",
      "parents": [
        "773208946a132fb733ba273ee8562814f828cc28"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:39:59 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Jul 13 17:39:59 2007 +0100"
      },
      "message": "[CHAR] Delete leftovers of old Alchemy UART driver\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "3039f0735a280b54c7364fbfe6a9287f7f0b510a",
      "tree": "1d64cdab174e681660d689d367f0bde4e2884fdd",
      "parents": [
        "5816815f7850509ed51ab94eb4f644e405ccb865"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "message": "ioatdma: add the unisys \"i/oat\" pci vendor/device id\n\nCc: John Magolan \u003cjohn.magolan@unisys.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "5816815f7850509ed51ab94eb4f644e405ccb865",
      "tree": "0688018d6235fd37253114c78bae884e19bc07ec",
      "parents": [
        "2492c845189a961a92d8537a44d233e8e1e45c6d"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 11:10:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "message": "ARM: Add drivers/dma to arch/arm/Kconfig\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "2492c845189a961a92d8537a44d233e8e1e45c6d",
      "tree": "2c13ce489dc271d0391c468beb75e081b899f35c",
      "parents": [
        "39a8d7d13c113e4a98bfdfc45c7233188e4d715f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "message": "iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver\n\nAdds the platform device definitions and the architecture specific support\nroutines (i.e. register initialization and descriptor formats) for the\niop-adma driver.\n\nChangelog:\n* add support for \u003e 1k zero sum buffer sizes\n* added dma/aau platform devices to iq80321 and iq80332 setup\n* fixed the calculation in iop_desc_is_aligned\n* support xor buffer sizes larger than 16MB\n* fix places where software descriptors are assumed to be contiguous, only\n  hardware descriptors are contiguous for up to a PAGE_SIZE buffer size\n* convert to async_tx\n* add interrupt support\n* add platform devices for 80219 boards\n* do not call platform register macros in driver code\n* remove switch() statements for compatible register offsets/layouts\n* change over to bitmap based capabilities\n* remove unnecessary ARM assembly statement\n* checkpatch.pl fixes\n* gpl v2 only correction\n* phys move to dma_async_tx_descriptor\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "39a8d7d13c113e4a98bfdfc45c7233188e4d715f",
      "tree": "7595e6b48de6a11d98ad206f4aaa1d976c349e4f",
      "parents": [
        "c211092313b90f898dec61f35207fc282d1eadc3"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:18 2007 -0700"
      },
      "message": "iop13xx: surface the iop13xx adma units to the iop-adma driver\n\nAdds the platform device definitions and the architecture specific\nsupport routines (i.e. register initialization and descriptor formats) for the\niop-adma driver.\n\nChangelog:\n* added \u0027descriptor pool size\u0027 to the platform data\n* add base support for buffer sizes larger than 16MB (hw max)\n* build error fix from Kirill A. Shutemov\n* rebase for async_tx changes\n* add interrupt support\n* do not call platform register macros in driver code\n* remove unnecessary ARM assembly statement\n* checkpatch.pl fixes\n* gpl v2 only correction\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "c211092313b90f898dec61f35207fc282d1eadc3",
      "tree": "30df0c81f207d0babb3fe56a17419f37e71e973a",
      "parents": [
        "f6dff381af01006ffae3c23cd2e07e30584de0ec"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:26 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:18 2007 -0700"
      },
      "message": "dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines\n\nThe Intel(R) IOP series of i/o processors integrate an Xscale core with\nraid acceleration engines.  The capabilities per platform are:\n\niop219:\n (2) copy engines\niop321:\n (2) copy engines\n (1) xor and block fill engine\niop33x:\n (2) copy and crc32c engines\n (1) xor, xor zero sum, pq, pq zero sum, and block fill engine\niop34x (iop13xx):\n (2) copy, crc32c, xor, xor zero sum, and block fill engines\n (1) copy, crc32c, xor, xor zero sum, pq, pq zero sum, and block fill engine\n\nThe driver supports the features of the async_tx api:\n* asynchronous notification of operation completion\n* implicit (interupt triggered) handling of inter-channel transaction\n  dependencies\n\nThe driver adapts to the platform it is running by two methods.\n1/ #include \u003casm/arch/adma.h\u003e which defines the hardware specific\n   iop_chan_* and iop_desc_* routines as a series of static inline\n   functions\n2/ The private platform data attached to the platform_device defines the\n   capabilities of the channels\n\n20070626: Callbacks are run in a tasklet.  Given the recent discussion on\nLKML about killing tasklets in favor of workqueues I did a quick conversion\nof the driver.  Raid5 resync performance dropped from 50MB/s to 30MB/s, so\nthe tasklet implementation remains until a generic softirq interface is\navailable.\n\nChangelog:\n* fixed a slot allocation bug in do_iop13xx_adma_xor that caused too few\nslots to be requested eventually leading to data corruption\n* enabled the slot allocation routine to attempt to free slots before\nreturning -ENOMEM\n* switched the cleanup routine to solely use the software chain and the\nstatus register to determine if a descriptor is complete.  This is\nnecessary to support other IOP engines that do not have status writeback\ncapability\n* make the driver iop generic\n* modified the allocation routines to understand allocating a group of\nslots for a single operation\n* added a null xor initialization operation for the xor only channel on\niop3xx\n* support xor operations on buffers larger than the hardware maximum\n* split the do_* routines into separate prep, src/dest set, submit stages\n* added async_tx support (dependent operations initiation at cleanup time)\n* simplified group handling\n* added interrupt support (callbacks via tasklets)\n* brought the pending depth inline with ioat (i.e. 4 descriptors)\n* drop dma mapping methods, suggested by Chris Leech\n* don\u0027t use inline in C files, Adrian Bunk\n* remove static tasklet declarations\n* make iop_adma_alloc_slots easier to read and remove chances for a\n  corrupted descriptor chain\n* fix locking bug in iop_adma_alloc_chan_resources, Benjamin Herrenschmidt\n* convert capabilities over to dma_cap_mask_t\n* fixup sparse warnings\n* add descriptor flush before iop_chan_enable\n* checkpatch.pl fixes\n* gpl v2 only correction\n* move set_src, set_dest, submit to async_tx methods\n* move group_list and phys to async_tx\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "f6dff381af01006ffae3c23cd2e07e30584de0ec",
      "tree": "257502c7a1a1392ffa91687d10331b08e21d2012",
      "parents": [
        "830ea01673a397798d1281d2022615559f5001bb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:18 2007 -0700"
      },
      "message": "md: remove raid5 compute_block and compute_parity5\n\nreplaced by raid5_run_ops\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "830ea01673a397798d1281d2022615559f5001bb",
      "tree": "33413032374605648a1e47f059b93ffc39e33717",
      "parents": [
        "f0a50d3754c7f1b7f05f45b1c0b35d20445316b5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - request io processing in raid5_run_ops\n\nI/O submission requests were already handled outside of the stripe lock in\nhandle_stripe.  Now that handle_stripe is only tasked with finding work,\nthis logic belongs in raid5_run_ops.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f0a50d3754c7f1b7f05f45b1c0b35d20445316b5",
      "tree": "c54b572ad4c4c9b48f887a9ecc28ec7b6166d552",
      "parents": [
        "b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async expand ops\n\nWhen a stripe is being expanded bulk copying takes place to move the data\nfrom the old stripe to the new.  Since raid5_run_ops only operates on one\nstripe at a time these bulk copies are handled in-line under the stripe\nlock.  In the dma offload case we poll for the completion of the operation.\n\nAfter the data has been copied into the new stripe the parity needs to be\nrecalculated across the new disks.  We reuse the existing postxor\nfunctionality to carry out this calculation.  By setting STRIPE_OP_POSTXOR\nwithout setting STRIPE_OP_BIODRAIN the completion path in handle stripe\ncan differentiate expand operations from normal write operations.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8",
      "tree": "bf88aad375bb0cbf6c346ec912c06c2607850b21",
      "parents": [
        "e89f89629b5de76e504d1be75c82c4a6b2419583"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async read ops\n\nWhen a read bio is attached to the stripe and the corresponding block is\nmarked R5_UPTODATE, then a read (biofill) operation is scheduled to copy\nthe data from the stripe cache to the bio buffer.  handle_stripe flags the\nblocks to be operated on with the R5_Wantfill flag.  If new read requests\narrive while raid5_run_ops is running they will not be handled until\nhandle_stripe is scheduled to run again.\n\nChangelog:\n* cleanup to_read and to_fill accounting\n* do not fail reads that have reached the cache\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e89f89629b5de76e504d1be75c82c4a6b2419583",
      "tree": "96f54c576f51207e4f4a75f4770e9cf2707fc948",
      "parents": [
        "f38e12199a94ca458e4f03c5a2c984fb80adadc5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async check ops\n\nCheck operations are scheduled when the array is being resynced or an\nexplicit \u0027check/repair\u0027 command was sent to the array.  Previously check\noperations would destroy the parity block in the cache such that even if\nparity turned out to be correct the parity block would be marked\n!R5_UPTODATE at the completion of the check.  When the operation can be\ncarried out by a dma engine the assumption is that it can check parity as a\nread-only operation.  If raid5_run_ops notices that the check was handled\nby hardware it will preserve the R5_UPTODATE status of the parity disk.\n\nWhen a check operation determines that the parity needs to be repaired we\nreuse the existing compute block infrastructure to carry out the operation.\nRepair operations imply an immediate write back of the data, so to\ndifferentiate a repair from a normal compute operation the\nSTRIPE_OP_MOD_REPAIR_PD flag is added.\n\nChangelog:\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f38e12199a94ca458e4f03c5a2c984fb80adadc5",
      "tree": "706f54c46d4a4c839dd43c1403854dde860c6be5",
      "parents": [
        "e33129d84130459dbb764a1a52a4bfceab3da978"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async compute ops\n\nhandle_stripe will compute a block when a backing disk has failed, or when\nit determines it can save a disk read by computing the block from all the\nother up-to-date blocks.\n\nPreviously a block would be computed under the lock and subsequent logic in\nhandle_stripe could use the newly up-to-date block.  With the raid5_run_ops\nimplementation the compute operation is carried out a later time outside\nthe lock.  To preserve the old functionality we take advantage of the\ndependency chain feature of async_tx to flag the block as R5_Wantcompute\nand then let other parts of handle_stripe operate on the block as if it\nwere up-to-date.  raid5_run_ops guarantees that the block will be ready\nbefore it is used in another operation.\n\nHowever, this only works in cases where the compute and the dependent\noperation are scheduled at the same time.  If a previous call to\nhandle_stripe sets the R5_Wantcompute flag there is no facility to pass the\nasync_tx dependency chain across successive calls to raid5_run_ops.  The\nreq_compute variable protects against this case.\n\nChangelog:\n* remove the req_compute BUG_ON\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e33129d84130459dbb764a1a52a4bfceab3da978",
      "tree": "c3f2742dac468a1c62e14ec1f2ec0cb5a37ee966",
      "parents": [
        "d84e0f10d38393f617227f0c831a99c69294651f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:16 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async write ops\n\nAfter handle_stripe5 decides whether it wants to perform a\nread-modify-write, or a reconstruct write it calls\nhandle_write_operations5.  A read-modify-write operation will perform an\nxor subtraction of the blocks marked with the R5_Wantprexor flag, copy the\nnew data into the stripe (biodrain) and perform a postxor operation across\nall up-to-date blocks to generate the new parity.  A reconstruct write is run\nwhen all blocks are already up-to-date in the cache so all that is needed\nis a biodrain and postxor.\n\nOn the completion path STRIPE_OP_PREXOR will be set if the operation was a\nread-modify-write.  The STRIPE_OP_BIODRAIN flag is used in the completion\npath to differentiate write-initiated postxor operations versus\nexpansion-initiated postxor operations.  Completion of a write triggers i/o\nto the drives.\n\nChangelog:\n* make the \u0027rcw\u0027 parameter to handle_write_operations5 a simple flag, Neil Brown\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d84e0f10d38393f617227f0c831a99c69294651f",
      "tree": "5d0836f024f1f13ac6f1b2b2d3004244cb0fa649",
      "parents": [
        "91c00924846a0034020451c280c76baa4299f9dc"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:16 2007 -0700"
      },
      "message": "md: common infrastructure for running operations with raid5_run_ops\n\nAll the handle_stripe operations that are to be transitioned to use\nraid5_run_ops need a method to coherently gather work under the stripe-lock\nand hand that work off to raid5_run_ops.  The \u0027get_stripe_work\u0027 routine\nruns under the lock to read all the bits in sh-\u003eops.pending that do not\nhave the corresponding bit set in sh-\u003eops.ack.  This modified \u0027pending\u0027\nbitmap is then passed to raid5_run_ops for processing.\n\nThe transition from \u0027ack\u0027 to \u0027completion\u0027 does not need similar protection\nas the existing release_stripe infrastructure will guarantee that\nhandle_stripe will run again after a completion bit is set, and\nhandle_stripe can tolerate a sh-\u003eops.completed bit being set while the lock\nis held.\n\nA call to async_tx_issue_pending_all() is added to raid5d to kick the\noffload engines once all pending stripe operations work has been submitted.\nThis enables batching of the submission and completion of operations.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "91c00924846a0034020451c280c76baa4299f9dc",
      "tree": "7124ed6706937b793a10c37a861c5fc0f2e5b348",
      "parents": [
        "45b4233caac05da0118b608a9fc2a40a9fc580cd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "md: raid5_run_ops - run stripe operations outside sh-\u003elock\n\nWhen the raid acceleration work was proposed, Neil laid out the following\nattack plan:\n\n1/ move the xor and copy operations outside spin_lock(\u0026sh-\u003elock)\n2/ find/implement an asynchronous offload api\n\nThe raid5_run_ops routine uses the asynchronous offload api (async_tx) and\nthe stripe_operations member of a stripe_head to carry out xor+copy\noperations asynchronously, outside the lock.\n\nTo perform operations outside the lock a new set of state flags is needed\nto track new requests, in-flight requests, and completed requests.  In this\nnew model handle_stripe is tasked with scanning the stripe_head for work,\nupdating the stripe_operations structure, and finally dropping the lock and\ncalling raid5_run_ops for processing.  The following flags outline the\nrequests that handle_stripe can make of raid5_run_ops:\n\nSTRIPE_OP_BIOFILL\n - copy data into request buffers to satisfy a read request\nSTRIPE_OP_COMPUTE_BLK\n - generate a missing block in the cache from the other blocks\nSTRIPE_OP_PREXOR\n - subtract existing data as part of the read-modify-write process\nSTRIPE_OP_BIODRAIN\n - copy data out of request buffers to satisfy a write request\nSTRIPE_OP_POSTXOR\n - recalculate parity for new data that has entered the cache\nSTRIPE_OP_CHECK\n - verify that the parity is correct\nSTRIPE_OP_IO\n - submit i/o to the member disks (note this was already performed outside\n   the stripe lock, but it made sense to add it as an operation type\n\nThe flow is:\n1/ handle_stripe sets STRIPE_OP_* in sh-\u003eops.pending\n2/ raid5_run_ops reads sh-\u003eops.pending, sets sh-\u003eops.ack, and submits the\n   operation to the async_tx api\n3/ async_tx triggers the completion callback routine to set\n   sh-\u003eops.complete and release the stripe\n4/ handle_stripe runs again to finish the operation and optionally submit\n   new operations that were previously blocked\n\nNote this patch just defines raid5_run_ops, subsequent commits (one per\nmajor operation type) modify handle_stripe to take advantage of this\nroutine.\n\nChangelog:\n* removed ops_complete_biodrain in favor of ops_complete_postxor and\n  ops_complete_write.\n* removed the raid5_run_ops workqueue\n* call bi_end_io for reads in ops_complete_biofill, saves a call to\n  handle_stripe\n* explicitly handle the 2-disk raid5 case (xor becomes memcpy), Neil Brown\n* fix race between async engines and bi_end_io call for reads, Neil Brown\n* remove unnecessary spin_lock from ops_complete_biofill\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n* remove explicit interrupt handling for channel switching, this feature\n  was absorbed (i.e. it is now implicit) by the async_tx api\n* use return_io in ops_complete_biofill\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "45b4233caac05da0118b608a9fc2a40a9fc580cd",
      "tree": "ebc65304c088b6f2162c5ba4e04382bd49736040",
      "parents": [
        "a445685647e825c713175d180ffc8dd54d90589b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "raid5: replace custom debug PRINTKs with standard pr_debug\n\nReplaces PRINTK with pr_debug, and kills the RAID5_DEBUG definition in\nfavor of the global DEBUG definition.  To get local debug messages just add\n\u0027#define DEBUG\u0027 to the top of the file.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a445685647e825c713175d180ffc8dd54d90589b",
      "tree": "d2db5674e51d33162e1e5993b6e6680ec534e2df",
      "parents": [
        "9bc89cd82d6f88fb0ca39b30445c329a430fd66b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "raid5: refactor handle_stripe5 and handle_stripe6 (v3)\n\nhandle_stripe5 and handle_stripe6 have very deep logic paths handling the\nvarious states of a stripe_head.  By introducing the \u0027stripe_head_state\u0027\nand \u0027r6_state\u0027 objects, large portions of the logic can be moved to\nsub-routines.\n\n\u0027struct stripe_head_state\u0027 consumes all of the automatic variables that previously\nstood alone in handle_stripe5,6.  \u0027struct r6_state\u0027 contains the handle_stripe6\nspecific variables like p_failed and q_failed.\n\nOne of the nice side effects of the \u0027stripe_head_state\u0027 change is that it\nallows for further reductions in code duplication between raid5 and raid6.\nThe following new routines are shared between raid5 and raid6:\n\n\thandle_completed_write_requests\n\thandle_requests_to_failed_array\n\thandle_stripe_expansion\n\nChanges:\n* v2: fixed \u0027conf-\u003eraid_disk-1\u0027 for the raid6 \u0027handle_stripe_expansion\u0027 path\n* v3: removed the unused \u0027dirty\u0027 field from struct stripe_head_state\n* v3: coalesced open coded bi_end_io routines into return_io()\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9bc89cd82d6f88fb0ca39b30445c329a430fd66b",
      "tree": "7bd0e856abd359f84edea1bacfd1dd32edd93fbb",
      "parents": [
        "685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 11:10:44 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:14 2007 -0700"
      },
      "message": "async_tx: add the async_tx api\n\nThe async_tx api provides methods for describing a chain of asynchronous\nbulk memory transfers/transforms with support for inter-transactional\ndependencies.  It is implemented as a dmaengine client that smooths over\nthe details of different hardware offload engine implementations.  Code\nthat is written to the api can optimize for asynchronous operation and the\napi will fit the chain of operations to the available offload resources. \n \n\tI imagine that any piece of ADMA hardware would register with the\n\t\u0027async_*\u0027 subsystem, and a call to async_X would be routed as\n\tappropriate, or be run in-line. - Neil Brown\n\nasync_tx exploits the capabilities of struct dma_async_tx_descriptor to\nprovide an api of the following general format:\n\nstruct dma_async_tx_descriptor *\nasync_\u003coperation\u003e(..., struct dma_async_tx_descriptor *depend_tx,\n\t\t\tdma_async_tx_callback cb_fn, void *cb_param)\n{\n\tstruct dma_chan *chan \u003d async_tx_find_channel(depend_tx, \u003coperation\u003e);\n\tstruct dma_device *device \u003d chan ? chan-\u003edevice : NULL;\n\tint int_en \u003d cb_fn ? 1 : 0;\n\tstruct dma_async_tx_descriptor *tx \u003d device ?\n\t\tdevice-\u003edevice_prep_dma_\u003coperation\u003e(chan, len, int_en) : NULL;\n\n\tif (tx) { /* run \u003coperation\u003e asynchronously */\n\t\t...\n\t\ttx-\u003etx_set_dest(addr, tx, index);\n\t\t...\n\t\ttx-\u003etx_set_src(addr, tx, index);\n\t\t...\n\t\tasync_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param);\n\t} else { /* run \u003coperation\u003e synchronously */\n\t\t...\n\t\t\u003coperation\u003e\n\t\t...\n\t\tasync_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);\n\t}\n\n\treturn tx;\n}\n\nasync_tx_find_channel() returns a capable channel from its pool.  The\nchannel pool is organized as a per-cpu array of channel pointers.  The\nasync_tx_rebalance() routine is tasked with managing these arrays.  In the\nuniprocessor case async_tx_rebalance() tries to spread responsibility\nevenly over channels of similar capabilities.  For example if there are two\ncopy+xor channels, one will handle copy operations and the other will\nhandle xor.  In the SMP case async_tx_rebalance() attempts to spread the\noperations evenly over the cpus, e.g. cpu0 gets copy channel0 and xor\nchannel0 while cpu1 gets copy channel 1 and xor channel 1.  When a\ndependency is specified async_tx_find_channel defaults to keeping the\noperation on the same channel.  A xor-\u003ecopy-\u003exor chain will stay on one\nchannel if it supports both operation types, otherwise the transaction will\ntransition between a copy and a xor resource.\n\nCurrently the raid5 implementation in the MD raid456 driver has been\nconverted to the async_tx api.  A driver for the offload engines on the\nIntel Xscale series of I/O processors, iop-adma, is provided in a later\ncommit.  With the iop-adma driver and async_tx, raid456 is able to offload\ncopy, xor, and xor-zero-sum operations to hardware engines.\n \nOn iop342 tiobench showed higher throughput for sequential writes (20 - 30%\nimprovement) and sequential reads to a degraded array (40 - 55%\nimprovement).  For the other cases performance was roughly equal, +/- a few\npercentage points.  On a x86-smp platform the performance of the async_tx\nimplementation (in synchronous mode) was also +/- a few percentage points\nof the original implementation.  According to \u0027top\u0027 on iop342 CPU\nutilization drops from ~50% to ~15% during a \u0027resync\u0027 while the speed\naccording to /proc/mdstat doubles from ~25 MB/s to ~50 MB/s.\n \nThe tiobench command line used for testing was: tiobench --size 2048\n--block 4096 --block 131072 --dir /mnt/raid --numruns 5\n* iop342 had 1GB of memory available\n\nDetails:\n* if CONFIG_DMA_ENGINE\u003dn the asynchronous path is compiled away by making\n  async_tx_find_channel a static inline routine that always returns NULL\n* when a callback is specified for a given transaction an interrupt will\n  fire at operation completion time and the callback will occur in a\n  tasklet.  if the the channel does not support interrupts then a live\n  polling wait will be performed\n* the api is written as a dmaengine client that requests all available\n  channels\n* In support of dependencies the api implicitly schedules channel-switch\n  interrupts.  The interrupt triggers the cleanup tasklet which causes\n  pending operations to be scheduled on the next channel\n* Xor engines treat an xor destination address differently than a software\n  xor routine.  To the software routine the destination address is an implied\n  source, whereas engines treat it as a write-only destination.  This patch\n  modifies the xor_blocks routine to take a an explicit destination address\n  to mirror the hardware.\n\nChangelog:\n* fixed a leftover debug print\n* don\u0027t allow callbacks in async_interrupt_cond\n* fixed xor_block changes\n* fixed usage of ASYNC_TX_XOR_DROP_DEST\n* drop dma mapping methods, suggested by Chris Leech\n* printk warning fixups from Andrew Morton\n* don\u0027t use inline in C files, Adrian Bunk\n* select the API when MD is enabled\n* BUG_ON xor source counts \u003c\u003d 1\n* implicitly handle hardware concerns like channel switching and\n  interrupts, Neil Brown\n* remove the per operation type list, and distribute operation capabilities\n  evenly amongst the available channels\n* simplify async_tx_find_channel to optimize the fast path\n* introduce the channel_table_initialized flag to prevent early calls to\n  the api\n* reorganize the code to mimic crypto\n* include mm.h as not all archs include it in dma-mapping.h\n* make the Kconfig options non-user visible, Adrian Bunk\n* move async_tx under crypto since it is meant as \u0027core\u0027 functionality, and\n  the two may share algorithms in the future\n* move large inline functions into c files\n* checkpatch.pl fixes\n* gpl v2 only correction\n\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73",
      "tree": "10f99829f7d877b87614fe69be77e363c026a8d7",
      "parents": [
        "d379b01e9087a582d58f4b678208a4f8d8376fe7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:42 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:14 2007 -0700"
      },
      "message": "xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n\nThe async_tx api tries to use a dma engine for an operation, but will fall\nback to an optimized software routine otherwise.  Xor support is\nimplemented using the raid5 xor routines.  For organizational purposes this\nroutine is moved to a common area.\n\nThe following fixes are also made:\n* rename xor_block \u003d\u003e xor_blocks, suggested by Adrian Bunk\n* ensure that xor.o initializes before md.o in the built-in case\n* checkpatch.pl fixes\n* mark calibrate_xor_blocks __init, Adrian Bunk\n\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "d379b01e9087a582d58f4b678208a4f8d8376fe7",
      "tree": "155920bca93c18afba66b9d5acfecd359d5bec65",
      "parents": [
        "7405f74badf46b5d023c5d2b670b4471525f6c91"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:42 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:13 2007 -0700"
      },
      "message": "dmaengine: make clients responsible for managing channels\n\nThe current implementation assumes that a channel will only be used by one\nclient at a time.  In order to enable channel sharing the dmaengine core is\nchanged to a model where clients subscribe to channel-available-events.\nInstead of tracking how many channels a client wants and how many it has\nreceived the core just broadcasts the available channels and lets the\nclients optionally take a reference.  The core learns about the clients\u0027\nneeds at dma_event_callback time.\n\nIn support of multiple operation types, clients can specify a capability\nmask to only be notified of channels that satisfy a certain set of\ncapabilities.\n\nChangelog:\n* removed DMA_TX_ARRAY_INIT, no longer needed\n* dma_client_chan_free -\u003e dma_chan_release: switch to global reference\n  counting only at device unregistration time, before it was also happening\n  at client unregistration time\n* clients now return dma_state_client to dmaengine (ack, dup, nak)\n* checkpatch.pl fixes\n* fixup merge with git-ioat\n\nCc: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7405f74badf46b5d023c5d2b670b4471525f6c91",
      "tree": "20dd20571637dba1c2b04c7b13ac208c33b5706b",
      "parents": [
        "428ed6024fa74a271142f3257966e9b5e1cb37a1"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 11:10:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:11 2007 -0700"
      },
      "message": "dmaengine: refactor dmaengine around dma_async_tx_descriptor\n\nThe current dmaengine interface defines mutliple routines per operation,\ni.e. dma_async_memcpy_buf_to_buf, dma_async_memcpy_buf_to_page etc.  Adding\nmore operation types (xor, crc, etc) to this model would result in an\nunmanageable number of method permutations.\n\n\tAre we really going to add a set of hooks for each DMA engine\n\twhizbang feature?\n\t\t- Jeff Garzik\n\nThe descriptor creation process is refactored using the new common\ndma_async_tx_descriptor structure.  Instead of per driver\ndo_\u003coperation\u003e_\u003cdest\u003e_to_\u003csrc\u003e methods, drivers integrate\ndma_async_tx_descriptor into their private software descriptor and then\ndefine a \u0027prep\u0027 routine per operation.  The prep routine allocates a\ndescriptor and ensures that the tx_set_src, tx_set_dest, tx_submit routines\nare valid.  Descriptor creation and submission becomes:\n\nstruct dma_device *dev;\nstruct dma_chan *chan;\nstruct dma_async_tx_descriptor *tx;\n\ntx \u003d dev-\u003edevice_prep_dma_\u003coperation\u003e(chan, len, int_flag)\ntx-\u003etx_set_src(dma_addr_t, tx, index /* for multi-source ops */)\ntx-\u003etx_set_dest(dma_addr_t, tx, index)\ntx-\u003etx_submit(tx)\n\nIn addition to the refactoring, dma_async_tx_descriptor also lays the\ngroundwork for definining cross-channel-operation dependencies, and a\ncallback facility for asynchronous notification of operation completion.\n\nChangelog:\n* drop dma mapping methods, suggested by Chris Leech\n* fix ioat_dma_dependency_added, also caught by Andrew Morton\n* fix dma_sync_wait, change from Andrew Morton\n* uninline large functions, change from Andrew Morton\n* add tx-\u003ecallback \u003d NULL to dmaengine calls to interoperate with async_tx\n  calls\n* hookup ioat_tx_submit\n* convert channel capabilities to a \u0027cpumask_t like\u0027 bitmap\n* removed DMA_TX_ARRAY_INIT, no longer needed\n* checkpatch.pl fixes\n* make set_src, set_dest, and tx_submit descriptor specific methods\n* fixup git-ioat merge\n* move group_list and phys to dma_async_tx_descriptor\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51a92c0f6ce8fa85fa0e18ecda1d847e606e8066",
      "tree": "b944b46d3856948931160c8a75ee27be3417c515",
      "parents": [
        "29ce20586be54ceba49c55ae049541398cd2c416"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 13 14:11:43 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 13 14:14:31 2007 +0200"
      },
      "message": "splice: fix offset mangling with direct splicing (sendfile)\n\nIf the output actor doesn\u0027t transfer the full amount of data, we will\nincrement ppos too much. Two related bugs in there:\n\n- We need to break out and return actor() retval if it is shorted than\n  what we spliced into the pipe.\n\n- Adjust ppos only according to actor() return.\n\nAlso fix loop problem in generic_file_splice_read(), it should not keep\ngoing when data has already been transferred.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "29ce20586be54ceba49c55ae049541398cd2c416",
      "tree": "5ac0ef4c9debefff4fdacfdebab481985eb7341a",
      "parents": [
        "d3f35d98b3b87d2506289320375687c6e9bc53ed"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jul 13 11:44:32 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 13 14:14:29 2007 +0200"
      },
      "message": "security: revalidate rw permissions for sys_splice and sys_vmsplice\n\nRevalidate read/write permissions for splice(2) and vmslice(2), in case\nsecurity policy has changed since the files were opened.\n\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d3f35d98b3b87d2506289320375687c6e9bc53ed",
      "tree": "6aa2bab848eb8a29eec79b906e9cb7570d086ad8",
      "parents": [
        "24da24de2eae0c277b85836e2b4b09cfafeea995"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Thu Jul 12 08:12:05 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 13 14:14:28 2007 +0200"
      },
      "message": "relay: fixup kerneldoc comment\n\nChange comment from kerneldoc to normal.\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "24da24de2eae0c277b85836e2b4b09cfafeea995",
      "tree": "c7025d1fd59c116584e166d8e2c7e455718fd056",
      "parents": [
        "773208946a132fb733ba273ee8562814f828cc28"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Thu Jul 12 08:12:04 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 13 14:14:26 2007 +0200"
      },
      "message": "relay: fix bogus cast in subbuf_splice_actor()\n\nThe current code that sets the read position in subbuf_splice_actor may\ngive erroneous results if the buffer size isn\u0027t a power of 2.  This\npatch fixes the problem.\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9a60ddbcb710ff78cd8c772681723a04e3f5aba3",
      "tree": "66b15b07e83e7214b15902ac63fa4384d5c3b8e5",
      "parents": [
        "084f34939424161669467c19280dbcf637730314"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 01:34:10 2007 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 01:34:10 2007 -0400"
      },
      "message": "[CPUFREQ] Fix typos in powernow-k8 printk\u0027s.\n\nBased on a patch from Joachim which didn\u0027t apply, so I fixed\nit up by hand, and also corrected the surrounding indentation\na little.\n\nSigned-off-by: Joachim.Deguara \u003cjoachim.deguara@amd.com\u003e\nAcked-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "084f34939424161669467c19280dbcf637730314",
      "tree": "85285adb98b7306a28152cf48bfae98d3f1f05c8",
      "parents": [
        "91973de736bc97dc04156242c5a4b00993b6c902"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Mon Jul 09 11:35:28 2007 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 01:29:51 2007 -0400"
      },
      "message": "[CPUFREQ] Restore previously used governor on a hot-replugged CPU\n\nNegative side effect: needs NR_CPUs pointer array of memory in\nCONFIG_HOTPLUG_CPU case.\n\nStill needs userspace track keeping and rewriting of governors if governors\nchange while a CPU is not active (always the governor at CPU remove time is\nrestored).\n\nMove of policy-\u003euser_policy.governor assignment is just a minor cleanup.\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d8671\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Mattia Dongili \u003cmalattia@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "91973de736bc97dc04156242c5a4b00993b6c902",
      "tree": "8d94fefd2c2f208e470510a4e607a32d013b969f",
      "parents": [
        "aac22d0a79f51d7bd93145be36322baaa4b423f8"
      ],
      "author": {
        "name": "Peter Oruba",
        "email": "peter.oruba@amd.com",
        "time": "Mon Jul 09 11:35:27 2007 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 01:29:51 2007 -0400"
      },
      "message": "[CPUFREQ] bugfix cpufreq in combination with performance governor\n\nThere is a frequency scaling issue that I encountered with the performance\ngovernor in combination with CPU hotplug.\n\nIn cpufreq.c CPU frequency is reduced to its minimum before the CPU gets\nunregistered and set offline.  Does that have a particular reason?\n\nSince the (k8-)governor does not monitor CPU frequency that setting also\napplies then to the remaining CPU as well and lets the system run on the\nlowest frequency although performance is chose as the policy.\n\nSigned-off-by: Peter Oruba \u003cpeter.oruba@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "aac22d0a79f51d7bd93145be36322baaa4b423f8",
      "tree": "95ac9788e4dcb0335a5e41c284afd0178a30963f",
      "parents": [
        "68485695e5a84399da7b48b208ac42623fe22963"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 09 11:35:27 2007 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 01:29:51 2007 -0400"
      },
      "message": "[CPUFREQ] powernow-k8 compile fix.\n\nMake it compile on UP.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "68485695e5a84399da7b48b208ac42623fe22963",
      "tree": "d76718f250443ba51eb4c7b2d43dcde44468f595",
      "parents": [
        "905497c4b2e6715eebde97cbcb313354e14c2489"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jul 08 23:39:14 2007 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 01:29:51 2007 -0400"
      },
      "message": "[CPUFREQ] the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI\n\nThis patch contains the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "905497c4b2e6715eebde97cbcb313354e14c2489",
      "tree": "4ae627f4892518009c514a403d19a947d8fd8673",
      "parents": [
        "773208946a132fb733ba273ee8562814f828cc28"
      ],
      "author": {
        "name": "Rafał Bilski",
        "email": "rafalbilski@interia.pl",
        "time": "Sun Jul 08 21:51:26 2007 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 01:29:50 2007 -0400"
      },
      "message": "[CPUFREQ] Longhaul - Option to disable ACPI C3 support\n\nOn some motherboards ACPI C3 is available, but it isn\u0027t\ncausing frequency transition on VIA Nehemiah. Longhaul\nwasn\u0027t working at all earlier, but due to\nscaling_cur_speed returning true CPU frequency now, it\nlooks like CPU is getting stuck at highest frequency\nsince 2.6.21. I didn\u0027t find a reason. Halt is causing\nfrequency transition.\n\nSigned-off-by: Rafal Bilski \u003crafalbilski@interia.pl\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "773208946a132fb733ba273ee8562814f828cc28",
      "tree": "bb5c791a87b364d882043d8da5ab93bbb9f3112b",
      "parents": [
        "9374430a52dfae5c013b88f7f030c04a6774d410"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 17:06:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 17:06:50 2007 -0700"
      },
      "message": "Revert \"USB: fix gregkh-usb-usb-use-menuconfig-objects\"\n\nThis reverts commit acb11c8b8020f1f1b2545152020675ef32d09a58.\n\nIt was broken.  We most certainly *do* want the default to be the old\nbehaviour (and the common case!), instead of breaking everybodys\nconfiguration and making 99% of all people have to override the default.\n\nWhat were you guys thinking?\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9374430a52dfae5c013b88f7f030c04a6774d410",
      "tree": "ce1ee8eee4e79fbb9486e810278d1092afc74a44",
      "parents": [
        "66f49739fe1591197364f2dad1b67b975e8f5e85",
        "13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:58 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (149 commits)\n  USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc\n  USB: additions to the quirk list\n  usb-storage: implement autosuspend\n  USB: cdc-acm: add new device id to option driver\n  USB: goku_udc trivial cleanups\n  USB: usb gadget stack can now -DDEBUG with Kconfig\n  usb gadget stack: remove usb_ep_*_buffer(), part 2\n  usb gadget stack: remove usb_ep_*_buffer(), part 1\n  USB: pxa2xx_udc -- cleanups, mostly removing dma hooks\n  USB: pxa2xx_udc: use generic gpio layer\n  USB: quirk for samsung printer\n  USB: usb/dma doc updates\n  USB: drivers/usb/storage/unusual_devs.h whitespace cleanup\n  USB: remove Makefile reference to obsolete OHCI_AT91\n  USB: io_*: remove bogus termios no change checks\n  USB: mos7720: remove bogus no termios change check\n  USB: visor and whiteheat: remove bogus termios change checks\n  USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate()\n  USB: mos7840.c: turn this into a serial driver\n  USB: make the usb_device numa_node get assigned from controller\n  ...\n"
    },
    {
      "commit": "66f49739fe1591197364f2dad1b67b975e8f5e85",
      "tree": "5c804af8a3789c0cdf319e27bad3005d6a471cdf",
      "parents": [
        "0cdf6990e992902ae59cbc625d28cb41390f378e",
        "57e4acb3f63e1d3d74a75613eefde8b2d68164e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:01 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Un-break ia64 build\n"
    },
    {
      "commit": "0cdf6990e992902ae59cbc625d28cb41390f378e",
      "tree": "0c01cf792be5f36ea34064036005f424ab95a571",
      "parents": [
        "de081fa517fed81b0369f2e90ca87c30182879c8",
        "cec7c893d8654723028f09d33341e42673558057"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:45:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:45:40 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (76 commits)\n  IB: Update MAINTAINERS with Hal\u0027s new email address\n  IB/mlx4: Implement query SRQ\n  IB/mlx4: Implement query QP\n  IB/cm: Send no match if a SIDR REQ does not match a listen\n  IB/cm: Fix handling of duplicate SIDR REQs\n  IB/cm: cm_msgs.h should include ib_cm.h\n  IB/cm: Include HCA ACK delay in local ACK timeout\n  IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible\n  IB/sa: Make sure SA queries use default P_Key\n  IPoIB: Recycle loopback skbs instead of freeing and reallocating\n  IB/mthca: Replace memset(\u003caddr\u003e, 0, PAGE_SIZE) with clear_page(\u003caddr\u003e)\n  IPoIB/cm: Fix warning if IPV6 is not enabled\n  IB/core: Take sizeof the correct pointer when calling kmalloc()\n  IB/ehca: Improve latency by unlocking after triggering the hardware\n  IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events\n  IB/ehca: Return QP pointer in poll_cq()\n  IB/ehca: Change idr spinlocks into rwlocks\n  IB/ehca: Refactor sync between completions and destroy_cq using atomic_t\n  IB/ehca: Lock renaming, static initializers\n  IB/ehca: Report RDMA atomic attributes in query_qp()\n  ...\n"
    },
    {
      "commit": "de081fa517fed81b0369f2e90ca87c30182879c8",
      "tree": "8f01b0c66c2900dec36b11ba1693a05e45cbe26d",
      "parents": [
        "dd172d72addefd89795e819cc2cc3eb1b9d12a7f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:40:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:42:13 2007 -0700"
      },
      "message": "Revert \"[BNX2]: Seems to not need net/tcp.h\"\n\nThis reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73.  The\ndriver _does_ need the networking header files;\n\n\t  CC [M]  drivers/net/bnx2.o\n\tdrivers/net/bnx2.c: In function \u0027bnx2_start_xmit\u0027:\n\tdrivers/net/bnx2.c:5177: warning: implicit declaration of function \u0027tcp_optlen\u0027\n\tdrivers/net/bnx2.c:5181: error: invalid application of \u0027sizeof\u0027 to incomplete type \u0027struct ipv6hdr\u0027\n\tdrivers/net/bnx2.c:5202: error: invalid application of \u0027sizeof\u0027 to incomplete type \u0027struct tcphdr\u0027\n\tdrivers/net/bnx2.c:5207: warning: implicit declaration of function \u0027tcp_hdr\u0027\n\tdrivers/net/bnx2.c:5207: error: invalid type argument of \u0027-\u003e\u0027\n\tmake[2]: *** [drivers/net/bnx2.o] Error 1\n\tmake[1]: *** [drivers/net] Error 2\n\tmake: *** [drivers] Error 2\n\nCc: Ilpo Jävinen \u003cilpo.jarvinen@helsinki.fi\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f",
      "tree": "6933fe7328b1c50dd30d331515986ad7e56a41b0",
      "parents": [
        "6c59649d49df4b9084bf407890734b5965d77b41"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@novell.com",
        "time": "Thu Jun 28 11:16:30 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:43 2007 -0700"
      },
      "message": "USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc\n\nRemove unnecessary cast of return value of kzalloc() in\nusb/host/ohci-pnx4008.c\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@novell.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6c59649d49df4b9084bf407890734b5965d77b41",
      "tree": "f694923c189e0e5ee5e3fdde62a02d9ef4d5a3b5",
      "parents": [
        "8dfe4b14869fd185ca25ee88b02ada58a3005eaf"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Jul 10 14:12:08 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:43 2007 -0700"
      },
      "message": "USB: additions to the quirk list\n\nthis adds some scanners reported to be crashed by autosuspend to\nthe quirk list.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8dfe4b14869fd185ca25ee88b02ada58a3005eaf",
      "tree": "0c0c8812f1d038706bd82ff0d7b3570d67645e68",
      "parents": [
        "b0e2a705bffbfb70d9bed8b5f9094901f28d9563"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jul 06 14:24:27 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:43 2007 -0700"
      },
      "message": "usb-storage: implement autosuspend\n\nThis patch (as930) implements autosuspend for usb-storage.  It is\nadapted from a patch by Oliver Neukum.  Autosuspend is allowed except\nduring LUN scanning, resets, and command execution.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b0e2a705bffbfb70d9bed8b5f9094901f28d9563",
      "tree": "2062453724b8a9a8e7a3221d7a733d8d731b6916",
      "parents": [
        "2d70c99b9340fa6c834fa6e32209e153f35a3e20"
      ],
      "author": {
        "name": "Andrey Arapov",
        "email": "andrey.arapov@gmail.com",
        "time": "Wed Jul 04 17:11:42 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:43 2007 -0700"
      },
      "message": "USB: cdc-acm: add new device id to option driver\n\nUSB: add new device id to option driver\ndevice is Samsung X180 China cellphone\n\nSigned-off-by: Andrey Arapov \u003candrey.arapov@gmail.com\u003e\nAcked-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2d70c99b9340fa6c834fa6e32209e153f35a3e20",
      "tree": "cbd098df25e1af57abdfee9aecd9be88a6571b44",
      "parents": [
        "70790f6339a868e2a0d643f44899418f64a95943"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 17:55:50 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:43 2007 -0700"
      },
      "message": "USB: goku_udc trivial cleanups\n\nMinor fixes to goku_udc ... whitespace, let -DDEBUG do its thing,\ncheck the return value of device_register(), sparse tweaks.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "70790f6339a868e2a0d643f44899418f64a95943",
      "tree": "406a1259b869b0b157a65e89e963afd0f20d1644",
      "parents": [
        "c67ab134ba9f83f9de86e58adfeaa14a9efa6e00"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 17:35:28 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "USB: usb gadget stack can now -DDEBUG with Kconfig\n\nAlthough the other USB driver directories got taught how use Kconfig\nand the Makefile to enable the debugging messages enabled by -DDEBUG,\nthe gadget stack was overlooked.\n\nThis patch remedies that omission, but doesn\u0027t update any drivers to\nremove previous idiosyncracies in this area ... other than the RNDIS\ncode, which defined its own DEBUG() macro in a broken way.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c67ab134ba9f83f9de86e58adfeaa14a9efa6e00",
      "tree": "df9022b4a38e955abbf254d71e00ac1fecce6420",
      "parents": [
        "9d8bab58b758cd5a96d368a8cc64111c9ab50407"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 12:21:00 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "usb gadget stack: remove usb_ep_*_buffer(), part 2\n\nThis patch removes controller driver infrastructure which supported\nthe now-removed usb_ep_{alloc,free}_buffer() calls.\n\nAs can be seen, many of the implementations of this were broken to\nvarious degrees.  Many didn\u0027t properly return dma-coherent mappings;\nthose which did so were necessarily ugly because of bogosity in the\nunderlying dma_free_coherent() calls ... which on many platforms\ncan\u0027t be called from the same contexts (notably in_irq) from which\ntheir dma_alloc_coherent() sibling can be called.\n\nThe main potential downside of removing this is that gadget drivers\nwouldn\u0027t have specific knowledge that the controller drivers have:\nendpoints that aren\u0027t dma-capable don\u0027t need any dma mappings at all.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9d8bab58b758cd5a96d368a8cc64111c9ab50407",
      "tree": "710695adf1e50f2e4680c130d548ccd3e6251630",
      "parents": [
        "ad8c623f4f48085edd51c7f4cdfd10295547bf45"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 11:04:54 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "usb gadget stack: remove usb_ep_*_buffer(), part 1\n\nRemove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers.\nThis patch just removes the interface and its users; later patches will\nremove controller driver support.\n\n  - This interface is invariably not implemented correctly in the\n    controller drivers (e.g. using dma pools, a mechanism which\n    post-dates the interface by several years).\n\n  - At this point no gadget driver really *needs* to use it.  In\n    current kernels, any driver that needs such a mechanism could\n    allocate a dma pool themselves.\n\nRemoving this interface is thus a simplification and improvement.\n\nNote that the gmidi.c driver had a bug in this area; fixed.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ad8c623f4f48085edd51c7f4cdfd10295547bf45",
      "tree": "dc28542ddc3173dab56fa6d4cd8694686f028968",
      "parents": [
        "9068a4c6467986e8fda5bdb29bd5f10c6788e2ff"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sat Jun 30 06:30:04 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "USB: pxa2xx_udc -- cleanups, mostly removing dma hooks\n\nCleanups to the pxa2xx_udc code:\n\n  - Primarily removing unused DMA hooks.\n  - One \"sparse\" warning removed\n  - Remove some Lubbock-only LED hooks (for debugging)\n\nThat DMA code was never really completed.  It worked, mostly, for IN\ntransfers (to the host) if they were fortuitously aligned, but that\ncode was never fully tested.  And it was never coded for OUT transfers\n(which is where DMA would really help) ... because of chip errata on\nessentially every chip other than the pxa255, and because of design\nbotches (nothing automated data toggle).  So it\u0027s effectively been\ndead code for several years now ... no point in keeping it around.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9068a4c6467986e8fda5bdb29bd5f10c6788e2ff",
      "tree": "dcb2889be80b750da2454c60a1d567e391ee560b",
      "parents": [
        "e4f747373cd96c86db3c64c21710748c6889c03c"
      ],
      "author": {
        "name": "Milan Svoboda",
        "email": "msvoboda@ra.rockwell.com",
        "time": "Sat Jun 30 06:25:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "USB: pxa2xx_udc: use generic gpio layer\n\nThis patch lets the pxa2xx_udc use the generic gpio layer,\non the relevant PXA and IXP systems.\n\nSigned-off-by: Milan Svoboda \u003cmsvoboda@ra.rockwell.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e4f747373cd96c86db3c64c21710748c6889c03c",
      "tree": "f97fea2cd550f458a879428ad5f42fa6e47d6293",
      "parents": [
        "fbf54dd32001359ccda6a9d8577f7b00e67357c7"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Fri Jun 29 08:44:37 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "USB: quirk for samsung printer\n\nthis printer does not survive suspension.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fbf54dd32001359ccda6a9d8577f7b00e67357c7",
      "tree": "ab454ffb4563cdfdccab1f0c221577622a57864f",
      "parents": [
        "c0e0c19cc9d899da0ee15104907ac158eb94365b"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 23:33:12 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "USB: usb/dma doc updates\n\nThis patch updates some of the documentation about DMA buffer management\nfor USB, and ways to avoid extra copying.  Our understanding of the issues\nhas improved over time.\n\n - Most drivers should *avoid* the dma-coherent allocators.  There are\n   a few exceptions (like the HID driver).\n\n - Some methods are currently commented out; it seems folk writing\n   USB drivers aren\u0027t doing performance tuning at that level yet.\n\n - Just avoid highmem; there\u0027s no good way to pass an \"I can do highmem\n   DMA\" capability through a driver stack.  This is easy, everything\n   already avoids highmem.  But it\u0027d be nice if x86_32 systems with much\n   physical memory could use it directly with network adapters and mass\n   storage devices.  (Patch, anyone?)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c0e0c19cc9d899da0ee15104907ac158eb94365b",
      "tree": "bd568152aa6d65a7ff86c948f7fe0828e16c6e29",
      "parents": [
        "a603c665516a3cb9df6abafad491bef24cc87aa5"
      ],
      "author": {
        "name": "S.Caglar Onur",
        "email": "caglar@pardus.org.tr",
        "time": "Wed Jul 04 13:52:47 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:41 2007 -0700"
      },
      "message": "USB: drivers/usb/storage/unusual_devs.h whitespace cleanup\n\nFollowing patch removes trailing whitespaces at the ends of lines and converts\nsmarttabs/whitespaces into real tabs.\n\nSigned-off-by: S.Caglar Onur \u003ccaglar@pardus.org.tr\u003e\nSigned-off-by: Phil Dibowitz \u003cphil@ipom.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "a603c665516a3cb9df6abafad491bef24cc87aa5"
}
