)]}'
{
  "log": [
    {
      "commit": "d265fef6ddf9042195aae551e1fde211c2a1588b",
      "tree": "b9c45caac6e191f6c68df3cc215831ee7e8f1e21",
      "parents": [
        "dca9b2404a6d6579828da2425c051462701efd3f"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Tue Nov 30 12:00:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 13:34:01 2010 -0800"
      },
      "message": "tipc: Remove obsolete native API files and exports\n\nAs part of the removal of TIPC\u0027s native API support it is no longer\nnecessary for TIPC to export symbols for routines that can be called\nby kernel-based applications, nor for it to have header files that\nkernel-based applications can include to access the declarations for\nthose routines. This commit eliminates the exporting of symbols by\nTIPC and migrates the contents of each obsolete native API include\nfile into its corresponding non-native API equivalent.\n\nThe code which was migrated in this commit was migrated intact, in\nthat there are no technical changes combined with the relocation.\n\nSigned-off-by: Allan Stephens \u003cAllan.Stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dca9b2404a6d6579828da2425c051462701efd3f",
      "tree": "c8f5fdd5f52e1ede8716703323f4297234a1e687",
      "parents": [
        "b672083ed36a49c323737b7c7e1d5264a7c193af"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Dec 01 18:05:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 13:27:33 2010 -0800"
      },
      "message": "net: kill unused macros from head file\n\nThese macros have been defined for several years since v2.6.12-rc2（tracing by git）,\nbut never be used. So remove them.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9527a3b621e507c85b639c183c3aa22afd4eb61",
      "tree": "663c9bc25246548ffac265ea9718bd8941bb44cb",
      "parents": [
        "2989042ca86b94bf4ffa9486921bb300ad44225f"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Dec 01 18:04:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 13:27:31 2010 -0800"
      },
      "message": "net: snmp: fix the wrong ICMP_MIB_MAX value\n\n__ICMP_MIB_MAX is equal to the total number of icmp mib,\nSo no need to add 1. This wastes 4/8 bytes memory.\n\nChange it to be same as ICMP6_MIB_MAX, TCP_MIB_MAX, UDP_MIB_MAX.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae4694b2d3e4c0f47c0e804a68417be57e5daf85",
      "tree": "f432ea91b11a003f70e27c346252db91d5876bd0",
      "parents": [
        "15c054251ab84895ec043e90826612c1a3d6d4f1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 10:59:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 10:59:22 2010 -0800"
      },
      "message": "ipv6: Create inet6_csk_route_req().\n\nBrother of ipv4\u0027s inet_csk_route_req().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15c054251ab84895ec043e90826612c1a3d6d4f1",
      "tree": "6c96a382d981ab7229665550be8332891f31f500",
      "parents": [
        "ccb7c410ddc054b8c1ae780319bc98ae092d3854"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 10:16:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 10:16:06 2010 -0800"
      },
      "message": "ipv6: Add rt6_get_peer() helper.\n\nTo go along side ipv4\u0027s rt_get_peer().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccb7c410ddc054b8c1ae780319bc98ae092d3854",
      "tree": "6a363c7232121d2390c091b232ee758fa10e4446",
      "parents": [
        "4399ce402c7c837dec80bf9fb40d079b39b9265a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 18:09:13 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 18:09:13 2010 -0800"
      },
      "message": "timewait_sock: Create and use getpeer op.\n\nThe only thing AF-specific about remembering the timestamp\nfor a time-wait TCP socket is getting the peer.\n\nAbstract that behind a new timewait_sock_ops vector.\n\nSupport for real IPV6 sockets is not filled in yet, but\ncuriously this makes timewait recycling start to work\nfor v4-mapped ipv6 sockets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4399ce402c7c837dec80bf9fb40d079b39b9265a",
      "tree": "d60fdcdd13b019fba90bbef24e3b530b8ff3c5d4",
      "parents": [
        "8790ca172a1550949804a2ad59ccea310f680c9f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:29:08 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:29:08 2010 -0800"
      },
      "message": "inetpeer: Fix incorrect comment about inetpeer struct size.\n\nNow with ipv6 support it is no longer less than 64 bytes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8790ca172a1550949804a2ad59ccea310f680c9f",
      "tree": "f9a0bf451adc36dab6e4cb9f5430827bbd827384",
      "parents": [
        "67d5288049f46f816181f63eaa8f1371877ad8ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:28:18 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:28:18 2010 -0800"
      },
      "message": "inetpeer: Kill use of inet_peer_address_t typedef.\n\nThey are verboten these days.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2cd2d3e9b3ef960612e362f0ad129d735452df2",
      "tree": "bef1868cfc7dc66de7b2430a4b47b12bced05ec1",
      "parents": [
        "0793f83f0ec2142d06abe53570417c8d95e0310a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 29 08:14:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 12:47:42 2010 -0800"
      },
      "message": "net sched: use xps information for qdisc NUMA affinity\n\nAllocate qdisc memory according to NUMA properties of cpus included in\nxps map.\n\nTo be effective, qdisc should be (re)setup after changes\nof /sys/class/net/eth\u003cn\u003e/queues/tx-\u003cn\u003e/xps_cpus\n\nI added a numa_node field in struct netdev_queue, containing NUMA node\nif all cpus included in xps_cpus share same node, else -1.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f419d2d487821093ee46e898b5f8747f9edc9cd",
      "tree": "a3f7731eb0706c5ae6d0f4ec004ba0d08d7f951b",
      "parents": [
        "b3419363808f2481b24a817f491878e1795db4c7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 13:37:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:28:06 2010 -0800"
      },
      "message": "inet: Turn -\u003eremember_stamp into -\u003eget_peer in connection AF ops.\n\nThen we can make a completely generic tcp_remember_stamp()\nthat uses -\u003eget_peer() as a helper, minimizing the AF specific\ncode and minimizing the eventual code duplication when we implement\nthe ipv6 side of TW recycling.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3419363808f2481b24a817f491878e1795db4c7",
      "tree": "76cfa3c55d6798a9bf25d200778dc212841f6cb0",
      "parents": [
        "672f007d65f50468a4a1e55825fe58e5b035324d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:27:11 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:27:11 2010 -0800"
      },
      "message": "ipv6: Add infrastructure to bind inet_peer objects to routes.\n\nThey are only allowed on cached ipv6 routes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "672f007d65f50468a4a1e55825fe58e5b035324d",
      "tree": "1c4c74ed6cdc6881cccc1c24a97b8117efe93d6c",
      "parents": [
        "021e9299113363cc1b713f86b2cba30b8e6cb5dd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:20:00 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:20:00 2010 -0800"
      },
      "message": "inetpeer: Add inet_getpeer_v6()\n\nNow that all of the infrastructure is in place, we can add\nthe ipv6 shorthand for peer creation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b534ecf1cd26f094497da6ae28a6ab64cdbe1617",
      "tree": "bdf8a55183a38926b8f34f709cb51a4db2f5f6b8",
      "parents": [
        "582a72da9a41be9227dc931d728ae2906880a589"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:54:19 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:54:19 2010 -0800"
      },
      "message": "inetpeer: Make inet_getpeer() take an inet_peer_adress_t pointer.\n\nAnd make an inet_getpeer_v4() helper, update callers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "582a72da9a41be9227dc931d728ae2906880a589",
      "tree": "0c1943d6c5eabdbfef6560ac49db322d4becf43d",
      "parents": [
        "98158f5a853cafd33b254ae0eacc0dd69f90b93b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:53:55 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:53:55 2010 -0800"
      },
      "message": "inetpeer: Introduce inet_peer_address_t.\n\nCurrently only the v4 aspect is used, but this will change.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77148625e10d0fda50d05e92d199c0df17b66e9a",
      "tree": "fdb5bb1e06933dc8891a3c4d3c93c371801d8b37",
      "parents": [
        "a41778694806ac1ccd4b1dafed1abef8d5ba98ac",
        "51cce8a590c4696d62bfacc63378d1036084cef7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 11:19:09 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 11:19:09 2010 -0800"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "a41778694806ac1ccd4b1dafed1abef8d5ba98ac",
      "tree": "499550eb704ba7811960d633161f5c386e4332cb",
      "parents": [
        "b02038a17b271e0f70616c54e4eccb5cc33d1b74"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 28 21:43:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 09:43:13 2010 -0800"
      },
      "message": "xps: add __rcu annotations\n\nAvoid sparse warnings : add __rcu annotations and use\nrcu_dereference_protected() where necessary.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49b4a6546fac02f58784f0744e0f99a6562ccc03",
      "tree": "69504924d37630618d9b20cf699af7a0cf8db021",
      "parents": [
        "e9248fbd6b6f7ef1917bfffe998654e40dfb4cfd"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Nov 29 00:14:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 09:41:12 2010 -0800"
      },
      "message": "sctp: kill unused macros in head file\n\n1. SCTP_CMD_NUM_VERBS,SCTP_CMD_MAX\nThese two macros have never been used for several years since v2.6.12-rc2.\n\n2.sctp_port_rover,sctp_port_alloc_lock\nThe commit 063930 abandoned global variables of port_rover and port_alloc_lock,\nbut still keep two macros to refer to them.\nSo, remove them now.\n\ncommit 06393009000779b00a558fd2f280882cc7dc2008\nAuthor: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nDate:   Wed Oct 10 17:30:18 2007 -0700\n\n    [SCTP]: port randomization\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf26414510103448ad3dc069c7422462f03ea3d7",
      "tree": "b8930bb2850dbc65f1e1f4e8bc6574f3c956b772",
      "parents": [
        "8fa9208e305e24978b897d6ea057604444ce77e1"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Fri Nov 26 08:36:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 18:24:14 2010 -0800"
      },
      "message": "xps: Add CONFIG_XPS\n\nThis patch adds XPS_CONFIG option to enable and disable XPS.  This is\ndone in the same manner as RPS_CONFIG.  This is also fixes build\nfailure in XPS code when SMP is not enabled.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa285b1740f5b13e5a2606a927f3129954583d78",
      "tree": "4845acc70e17cbd0c3a16f490aa24e1a00e8eb3c",
      "parents": [
        "6a632625c7da7594d059b88dae0e9c591af147ba"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Tue Nov 23 04:03:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 11:22:17 2010 -0800"
      },
      "message": "xfrm: fix gre key endianess\n\nfl-\u003efl_gre_key is network byte order contrary to fl-\u003efl_icmp_*.\nMake xfrm_flowi_{s|d}port return network byte order values for gre\nkey too.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5595a1a5997953dbd8c5df7c2f7d4b3a2eb2be4b",
      "tree": "56be68f4ddeae78c0751494264ffff88ce015304",
      "parents": [
        "5892b9e9ebdde50fbd524570d61ceb74f8be33f3"
      ],
      "author": {
        "name": "andrew hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Thu Nov 25 02:18:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 11:12:20 2010 -0800"
      },
      "message": "X25 remove bkl in subscription ioctls\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0d2268d259886f0c87131639d19eb4a67b4532",
      "tree": "952e6225fcee027f3a4ae8e1c2b2c889eff3a8b2",
      "parents": [
        "d3c15cab213becc49a6f2ad7f48a59513a5f17dd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 23 10:42:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 10:47:18 2010 -0800"
      },
      "message": "net: add netif_tx_queue_frozen_or_stopped\n\nWhen testing struct netdev_queue state against FROZEN bit, we also test\nXOFF bit. We can test both bits at once and save some cycles.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5584b8078a60e34ec7d37c9b67a0f3d389a1a2f6",
      "tree": "fc9054931639b0753a9eb95054f4a928186cab6b",
      "parents": [
        "cf7afbfeb8ceb0187348d0a1a0db61305e25f05f"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Mon Nov 22 23:00:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 10:47:15 2010 -0800"
      },
      "message": "sctp: kill unused macro definition\n\nThese macros have been existed for several years since v2.6.12-rc2.\nBut they never be used. So remove them now.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7afbfeb8ceb0187348d0a1a0db61305e25f05f",
      "tree": "8b1c07c8ae6a5b3f6f050d3286b53b3d7d72c858",
      "parents": [
        "89bf67f1f080c947c92f8773482d9e57767ca292"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Mon Nov 22 01:31:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 27 22:56:08 2010 -0800"
      },
      "message": "rtnl: make link af-specific updates atomic\n\nAs David pointed out correctly, updates to af-specific attributes\nare currently not atomic. If multiple changes are requested and\none of them fails, previous updates may have been applied already\nleaving the link behind in a undefined state.\n\nThis patch splits the function parse_link_af() into two functions\nvalidate_link_af() and set_link_at(). validate_link_af() is placed\nto validate_linkmsg() check for errors as early as possible before\nany changes to the link have been made. set_link_af() is called to\ncommit the changes later.\n\nThis method is not fail proof, while it is currently sufficient\nto make set_link_af() inerrable and thus 100% atomic, the\nvalidation function method will not be able to detect all error\nscenarios in the future, there will likely always be errors\ndepending on states which are f.e. not protected by rtnl_mutex\nand thus may change between validation and setting.\n\nAlso, instead of silently ignoring unknown address families and\nconfig blocks for address families which did not register a set\nfunction the errors EAFNOSUPPORT respectively EOPNOSUPPORT are\nreturned to avoid comitting 4 out of 5 update requests without\nnotifying the user.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51cce8a590c4696d62bfacc63378d1036084cef7",
      "tree": "dc24485bdff37ca6a83c69e93ffdbe5c5807b59d",
      "parents": [
        "2fe66ec242d3f76e3b0101f36419e7e5405bcff3",
        "4f8559383c41262b50dc758e2e310f257ce6a14d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:49:20 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:49:20 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "c063dbf52b998b852122dff07a8b8dd430b38437",
      "tree": "b27cc73fa8a1d9ed8fb5b0a1306e8194e18662a9",
      "parents": [
        "79b1c460a0b55e55981c25c56597c4d5d2872de3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 24 08:10:05 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:36 2010 -0500"
      },
      "message": "cfg80211: allow using CQM event to notify packet loss\n\nThis adds the ability for drivers to use CQM events\nto notify about packet loss for specific stations\n(which could be the AP for the managed mode case).\nSince the threshold might be determined by the\ndriver (it isn\u0027t passed in right now) it will be\npassed out of the driver to userspace in the event.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "79b1c460a0b55e55981c25c56597c4d5d2872de3",
      "tree": "aa146ddc5db00e1bad9f61ee4ca5c91fce55debd",
      "parents": [
        "48124d1a91fb77defc9734b4556350d59671fb2c"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 24 14:34:41 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:36 2010 -0500"
      },
      "message": "cfg80211: Add documentation for antenna ops\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dd5b4cc71cd09c33e1579cc6d5720656e94e52de",
      "tree": "86a27c86480109d9b6bbedddc083095035fbef2d",
      "parents": [
        "46090979a55a0dc2cdb3d939f94fa47742108194"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Nov 22 20:58:24 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:35 2010 -0500"
      },
      "message": "cfg80211/mac80211: improve ad-hoc multicast rate handling\n\n- store the multicast rate as an index instead of the rate value\n  (reduces cpu overhead in a hotpath)\n- validate the rate values (must match a bitrate in at least one sband)\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d7a066c92394f3e777351de0c903beeb8a08af76",
      "tree": "f54ce8ac77d32b4c3166b4a2ca92525174a3213b",
      "parents": [
        "ccb14354017272ddac002e859a2711610b6af174",
        "e476a5a41ad67d0e2b4a652820c49a3923eb936b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:24 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:24 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "ccb14354017272ddac002e859a2711610b6af174",
      "tree": "fa39f9b944508e596763c49b0088dc1cc2e263ca",
      "parents": [
        "f8afa42b01c7a9f45b7cbaadb0481a0eeb96f18d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:18:36 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:18:36 2010 -0500"
      },
      "message": "Revert \"nl80211/mac80211: Report signal average\"\n\nThis reverts commit 86107fd170bc379869250eb7e1bd393a3a70e8ae.\n\nThis patch inadvertantly changed the userland ABI.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1d24eb4815d1e0e8b451ecc546645f8ef1176d4f",
      "tree": "0172e72b9452dc46c4e1043817005979cec022a7",
      "parents": [
        "3853b5841c01a3f492fe137afaad9c209e5162c6"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Nov 21 13:17:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 24 11:44:20 2010 -0800"
      },
      "message": "xps: Transmit Packet Steering\n\nThis patch implements transmit packet steering (XPS) for multiqueue\ndevices.  XPS selects a transmit queue during packet transmission based\non configuration.  This is done by mapping the CPU transmitting the\npacket to a queue.  This is the transmit side analogue to RPS-- where\nRPS is selecting a CPU based on receive queue, XPS selects a queue\nbased on the CPU (previously there was an XPS patch from Eric\nDumazet, but that might more appropriately be called transmit completion\nsteering).\n\nEach transmit queue can be associated with a number of CPUs which will\nuse the queue to send packets.  This is configured as a CPU mask on a\nper queue basis in:\n\n/sys/class/net/eth\u003cn\u003e/queues/tx-\u003cn\u003e/xps_cpus\n\nThe mappings are stored per device in an inverted data structure that\nmaps CPUs to queues.  In the netdevice structure this is an array of\nnum_possible_cpu structures where each structure holds and array of\nqueue_indexes for queues which that CPU can use.\n\nThe benefits of XPS are improved locality in the per queue data\nstructures.  Also, transmit completions are more likely to be done\nnearer to the sending thread, so this should promote locality back\nto the socket on free (e.g. UDP).  The benefits of XPS are dependent on\ncache hierarchy, application load, and other factors.  XPS would\nnominally be configured so that a queue would only be shared by CPUs\nwhich are sharing a cache, the degenerative configuration woud be that\neach CPU has it\u0027s own queue.\n\nBelow are some benchmark results which show the potential benfit of\nthis patch.  The netperf test has 500 instances of netperf TCP_RR test\nwith 1 byte req. and resp.\n\nbnx2x on 16 core AMD\n   XPS (16 queues, 1 TX queue per CPU)  1234K at 100% CPU\n   No XPS (16 queues)                   996K at 100% CPU\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3853b5841c01a3f492fe137afaad9c209e5162c6",
      "tree": "6781db9ec592d9798129cd4715ce00dc9007b78c",
      "parents": [
        "22f4fbd9bd283ef85126e511171932a4af703776"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Nov 21 13:17:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 24 11:44:19 2010 -0800"
      },
      "message": "xps: Improvements in TX queue selection\n\nIn dev_pick_tx, don\u0027t do work in calculating queue\nindex or setting\nthe index in the sock unless the device has more than one queue.  This\nallows the sock to be set only with a queue index of a multi-queue\ndevice which is desirable if device are stacked like in a tunnel.\n\nWe also allow the mapping of a socket to queue to be changed.  To\nmaintain in order packet transmission a flag (ooo_okay) has been\nadded to the sk_buff structure.  If a transport layer sets this flag\non a packet, the transmit queue can be changed for the socket.\nPresumably, the transport would set this if there was no possbility\nof creating OOO packets (for instance, there are no packets in flight\nfor the socket).  This patch includes the modification in TCP output\nfor setting this flag.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bba14de98753cb6599a2dae0e520714b2153522d",
      "tree": "b771ef780aa0808d3eb7827d527920c07215c4fa",
      "parents": [
        "456b61bca8ee324ab6c18b065e632c9a8c88aa39"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 23 14:09:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 24 11:16:43 2010 -0800"
      },
      "message": "scm: lower SCM_MAX_FD\n\nLower SCM_MAX_FD from 255 to 253 so that allocations for scm_fp_list are\nhalved. (commit f8d570a4 added two pointers in this structure)\n\nscm_fp_dup() should not copy whole structure (and trigger kmemcheck\nwarnings), but only the used part. While we are at it, only allocate\nneeded size.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "456b61bca8ee324ab6c18b065e632c9a8c88aa39",
      "tree": "d1d458d78b6fffa32558ffbf7cdfc49a316a660c",
      "parents": [
        "2757a15f08adbed9480c30bdb4e9a0bbf2b6f33a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 23 13:12:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 24 11:16:42 2010 -0800"
      },
      "message": "ipv6: mcast: RCU conversion\n\nipv6_sk_mc_lock rwlock becomes a spinlock.\n\nreaders (inet6_mc_check()) now takes rcu_read_lock() instead of read\nlock. Writers dont need to disable BH anymore.\n\nstruct ipv6_mc_socklist objects are reclaimed after one RCU grace\nperiod.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "293bb1c41b728d4aa248fe8a0acd2b9066ff5c34",
      "tree": "18d96fedbebd22b855ad47b1891797f418bf6a79",
      "parents": [
        "9dfeb4d953f914bd3bb56ce60e22ee84687399ce"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Wed Nov 24 02:38:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 24 11:14:24 2010 -0800"
      },
      "message": "stmmac: add init/exit callback in plat_stmmacenet_data struct\n\nThis patch adds in the plat_stmmacenet_data\nthe init and exit callbacks that can be used\nfor invoking specific platform functions.\nFor example, on ST targets, these call the\nPAD manager functions to set PIO lines and\nsyscfg registers.\nThe patch removes the stmmac_claim_resource\nonly used on STM Kernels as well.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2e253cf300c5e33f49b7dd8b593bfc722177401",
      "tree": "0da4d4121996f7869b0ce5ac469c6dd5e7c7beaa",
      "parents": [
        "b0e2880b0518ad11af20c7c93ec5cac93f9f03b0"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 17 21:46:09 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 22 15:48:51 2010 -0500"
      },
      "message": "cfg80211: Fix regulatory bug with multiple cards and delays\n\nWhen two cards are connected with the same regulatory domain\nif CRDA had a delayed response then cfg80211\u0027s own set regulatory\ndomain would still be the world regulatory domain. There was a bug\non cfg80211\u0027s logic such that it assumed that once you pegged a\nrequest as the last request it was already the currently set\nregulatory domain. This would mean we would race setting a stale\nregulatory domain to secondary cards which had the same regulatory\ndomain since the alpha2 would match.\n\nWe fix this by processing each regulatory request atomically,\nand only move on to the next one once we get it fully processed.\nIn the case CRDA is not present we will simply world roam.\n\nThis issue is only present when you have a slow system and the\nCRDA processing is delayed. Because of this it is not a known\nregression.\n\nWithout this fix when a delay is present with CRDA the second card\nwould end up with an intersected regulatory domain and not allow it\nto use the channels it really is designed for. When two cards with\ntwo different regulatory domains were inserted you\u0027d end up\nrejecting the second card\u0027s regulatory domain request.\nThis fails with mac80211_hswim\u0027s regtest\u003d2 (two requests, same alpha2)\nand regtest\u003d3 (two requests, different alpha2) module parameter\noptions.\n\nThis was reproduced and tested against mac80211_hwsim using this\nCRDA delayer:\n\n       #!/bin/bash\n       echo $COUNTRY \u003e\u003e /tmp/log\n       sleep 2\n       /sbin/crda.orig\n\nAnd these regulatory tests:\n\n       modprobe mac80211_hwsim regtest\u003d2\n       modprobe mac80211_hwsim regtest\u003d3\n\nReported-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nTested-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1d8638d4038eb8709edc80e37a0bbb77253d86e9",
      "tree": "7eca1442ee8343500ca0cf3aa10f74e4301f1354",
      "parents": [
        "d47844a014fada1a788719f6426bc7044f2a0fd8"
      ],
      "author": {
        "name": "Daniel Klaffenbach",
        "email": "danielklaffenbach@gmail.com",
        "time": "Fri Nov 19 21:25:21 2010 -0600"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 22 15:19:31 2010 -0500"
      },
      "message": "ssb: b43-pci-bridge: Add new vendor for BCM4318\n\nAdd new vendor for Broadcom 4318.\n\nSigned-off-by: Daniel Klaffenbach \u003cdanielklaffenbach@gmail.com\u003e\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eb06acdc85585f28864261f28659157848762ee4",
      "tree": "8db786f687bfb8b969d00bb2695454938ea41f1d",
      "parents": [
        "e5700c740da2cb9f5a3aa978cd1fa3a79916ba04"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Oct 28 13:10:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 22 08:24:29 2010 -0800"
      },
      "message": "macvlan: Introduce \u0027passthru\u0027 mode to takeover the underlying device\n\nWith the current default \u0027vepa\u0027 mode, a KVM guest using virtio with\nmacvtap backend has the following limitations.\n- cannot change/add a mac address on the guest virtio-net\n- cannot create a vlan device on the guest virtio-net\n- cannot enable promiscuous mode on guest virtio-net\n\nTo address these limitations, this patch introduces a new mode called\n\u0027passthru\u0027 when creating a macvlan device which allows takeover of the\nunderlying device and passing it to a guest using virtio with macvtap\nbackend.\n\nOnly one macvlan device is allowed in passthru mode and it inherits\nthe mac address from the underlying device and sets it in promiscuous\nmode to receive and forward all the packets.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\n\n-------------------------------------------------------------------------\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20a95a2169d1cd3da50cf65ba882d0e27a4a2d4f",
      "tree": "1d8200ebe2a538d1f4ccacc2b63624400aa5ce16",
      "parents": [
        "bbce5a59e4e0e6e1dbc85492caaf310ff6611309"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Nov 20 18:07:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 21 10:05:10 2010 -0800"
      },
      "message": "netns: let net_generic take pointer-to-const args\n\nThis commit is same in nature as v2.6.37-rc1-755-g3654654; the network\nnamespace itself is not modified when calling net_generic, so the\nparameter can be const.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24912420e923d56461b400d83f250a31bed8a964",
      "tree": "3bb599e665ed7510df2e3f4c8cb008f7a33f50a9",
      "parents": [
        "0670b8ae66daf1d326c7bd10e73daff5f18fcf92",
        "0302b8622ce696af1cda22fcf207d3793350e896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tnet/core/net-sysfs.c\n\tnet/ipv6/addrconf.c\n"
    },
    {
      "commit": "93aaae2e01e57483256b7da05c9a7ebd65ad4686",
      "tree": "b3e4117bbf39814ef58ce1d012d977d2d5393c38",
      "parents": [
        "0a80410dc53cf68e56456bef1ca66949b87412f9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "message": "filter: optimize sk_run_filter\n\nRemove pc variable to avoid arithmetic to compute fentry at each filter\ninstruction. Jumps directly manipulate fentry pointer.\n\nAs the last instruction of filter[] is guaranteed to be a RETURN, and\nall jumps are before the last instruction, we dont need to check filter\nbounds (number of instructions in filter array) at each iteration, so we\nremove it from sk_run_filter() params.\n\nOn x86_32 remove f_k var introduced in commit 57fe93b374a6b871\n(filter: make sure filters dont read uninitialized memory)\n\nNote : We could use a CONFIG_ARCH_HAS_{FEW|MANY}_REGISTERS in order to\navoid too many ifdefs in this code.\n\nThis helps compiler to use cpu registers to hold fentry and A\naccumulator.\n\nOn x86_32, this saves 401 bytes, and more important, sk_run_filter()\nruns much faster because less register pressure (One less conditional\nbranch per BPF instruction)\n\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   2948       0       0    2948     b84 net/core/filter.o\n   3349       0       0    3349     d15 net/core/filter_pre.o\n\non x86_64 :\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   5173       0       0    5173    1435 net/core/filter.o\n   5224       0       0    5224    1468 net/core/filter_pre.o\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07bfa524d4c67acbb6b6fbdd1dea923d07853c04",
      "tree": "6e3819f13d3f4efa9c099cf227b1d42b1bc78620",
      "parents": [
        "93908d192686d8285dd6441ff855df92a40103d2",
        "3bf30b56c4f0a1c4fae34050b7db4527c92891e8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 11:56:09 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 11:56:09 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "86107fd170bc379869250eb7e1bd393a3a70e8ae",
      "tree": "579ee24be87e94246450420f4de57d8eda942848",
      "parents": [
        "eef39befaae2a1559efe197d795c376a317af2af"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Tue Nov 16 10:58:48 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 18 14:22:20 2010 -0500"
      },
      "message": "nl80211/mac80211: Report signal average\n\nExtend nl80211 to report an exponential weighted moving average (EWMA) of the\nsignal value. Since the signal value usually fluctuates between different\npackets, an average can be more useful than the value of the last packet.\n\nThis uses the recently added generic EWMA library function.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c5485a7e7569ab32eea240c850198519e2a765ef",
      "tree": "928a8556deaec0811d1b83102b33365aab28a270",
      "parents": [
        "50a9432daeece6fc1309bef1dc0a7b8fde8204cb"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Tue Nov 16 10:58:37 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 18 14:21:52 2010 -0500"
      },
      "message": "lib: Add generic exponentially weighted moving average (EWMA) function\n\nThis adds generic functions for calculating Exponentially Weighted Moving\nAverages (EWMA). This implementation makes use of a structure which keeps the\nEWMA parameters and a scaled up internal representation to reduce rounding\nerrors.\n\nThe original idea for this implementation came from the rt2x00 driver\n(rt2x00link.c). I would like to use it in several places in the mac80211 and\nath5k code and I hope it can be useful in many other places in the kernel code.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4c3710afbc333c33100739dec10662b4ee64e219",
      "tree": "3ededf09c4e236121d021a38fd991963d7bf2e84",
      "parents": [
        "cba328fc5ede9091616e7296483840869b615a46"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Nov 16 20:28:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 10:59:51 2010 -0800"
      },
      "message": "net: move definitions of BPF_S_* to net/core/filter.c\n\nBPF_S_* are used internally, should not be exposed to the others.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef22b7b65f0eda9015becc7bff225a399914a242",
      "tree": "15801292a4a57bc71552685e10f21e1e8094efc8",
      "parents": [
        "b52b97a339c0f2d76dfd6a31466d3f1b05c5cf7e"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Nov 18 09:40:04 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:40:04 2010 -0800"
      },
      "message": "net: Fix duplicate volatile warning.\n\njiffies is defined as \"volatile\".\n\n  extern unsigned long volatile __jiffy_data jiffies;\n\nACCESS_ONCE() uses \"volatile\".\nAs a result, some compilers warn duplicate `volatile\u0027 for ACCESS_ONCE(jiffies).\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "866f3b25a2eb60d7529c227a0ecd80c3aba443fd",
      "tree": "b11b24cf158a232641548b6c652bf9e001ae1446",
      "parents": [
        "dda0b38692a7298f433b92b1329867b1ecabb4bb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "message": "bonding: IGMP handling cleanup\n\nInstead of iterating in_dev-\u003emc_list from bonding driver, its better\nto call a helper function provided by igmp.c\nDetails of implementation (locking) are private to igmp code.\n\nip_mc_rejoin_group(struct ip_mc_list *im) becomes\nip_mc_rejoin_groups(struct in_device *in_dev);\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bce22b9b84032c77c7e038b07b24fcc706dfc10",
      "tree": "3c4ee91f19ca703d98956d8aa9f352df8ca10505",
      "parents": [
        "488f6ba75b5deaa7e89d6cdac07e0f2120899b6f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 16 11:49:58 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 17 16:19:31 2010 -0500"
      },
      "message": "mac80211: defines for AC numbers\n\nIn many places we\u0027ve just hardcoded the\nAC numbers -- which is a relic from the\noriginal mac80211 (d80211). Add constants\nfor them so we know what we\u0027re talking\nabout.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5811662b15db018c740c57d037523683fd3e6123",
      "tree": "f820610a6024799a26699f22dc9a4ef5dee07978",
      "parents": [
        "dd68ad2235b4625e0dc928b2b4c614d265f976d3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Nov 12 18:43:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 12:27:45 2010 -0800"
      },
      "message": "net: use the macros defined for the members of flowi\n\nUse the macros defined for the members of flowi to clean the code up.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f0f7272ac9506f4c8c05cc597b7e376b0b9f3e4",
      "tree": "d26f7c7e8f06313ffc8c0869935650f2b104ab58",
      "parents": [
        "ca7479ebbd9f7621646bf2792cb7143647f035bb"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Tue Nov 16 04:32:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 11:28:25 2010 -0800"
      },
      "message": "ipv4: AF_INET link address family\n\nImplements the AF_INET link address family exposing the per\ndevice configuration settings via netlink using the attribute\nIFLA_INET_CONF.\n\nThe format of IFLA_INET_CONF differs depending on the direction\nthe attribute is sent. The attribute sent by the kernel consists\nof a u32 array, basically a 1:1 copy of in_device-\u003ecnf.data[].\nThe attribute expected by the kernel must consist of a sequence\nof nested u32 attributes, each representing a change request,\ne.g.\n\t[IFLA_INET_CONF] \u003d {\n\t\t[IPV4_DEVCONF_FORWARDING] \u003d 1,\n\t\t[IPV4_DEVCONF_NOXFRM] \u003d 0,\n\t}\n\nlibnl userspace API documentation and example available from:\nhttp://www.infradead.org/~tgr/libnl/doc-git/group__link__inet.html\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca7479ebbd9f7621646bf2792cb7143647f035bb",
      "tree": "065c591e2ad710f8bf4827fc9d846b2ba7867703",
      "parents": [
        "f8ff182c716c6f11ca3061961f5722f26a14e101"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Tue Nov 16 04:31:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 11:28:25 2010 -0800"
      },
      "message": "inet: Define IPV4_DEVCONF_MAX\n\nDefine IPV4_DEVCONF_MAX to get rid of MAX - 1 notation.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8ff182c716c6f11ca3061961f5722f26a14e101",
      "tree": "6ea721a7feb71850c61b9d02400d162674d91c21",
      "parents": [
        "d67ef35fff67845c64d806c033cc7c569ccebfff"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Tue Nov 16 04:30:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 11:28:24 2010 -0800"
      },
      "message": "rtnetlink: Link address family API\n\nEach net_device contains address family specific data such as\nper device settings and statistics. We already expose this data\nvia procfs/sysfs and partially netlink.\n\nThe netlink method requires the requester to send one RTM_GETLINK\nrequest for each address family it wishes to receive data of\nand then merge this data itself.\n\nThis patch implements a new API which combines all address family\nspecific link data in a new netlink attribute IFLA_AF_SPEC.\nIFLA_AF_SPEC contains a sequence of nested attributes, one for each\naddress family which in turn defines the structure of its own\nattribute. Example:\n\n   [IFLA_AF_SPEC] \u003d {\n       [AF_INET] \u003d {\n           [IFLA_INET_CONF] \u003d ...,\n       },\n       [AF_INET6] \u003d {\n           [IFLA_INET6_FLAGS] \u003d ...,\n           [IFLA_INET6_CONF] \u003d ...,\n       }\n   }\n\nThe API also allows for address families to implement a function\nwhich parses the IFLA_AF_SPEC attribute sent by userspace to\nimplement address family specific link options.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da6836500414ae734cd9873c2d553db594f831e9",
      "tree": "1661f8ec37787e77e604a4f26574d48c57016ed4",
      "parents": [
        "37d668004289d202f71dc5bfdadf6c18b34577a2"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 16 11:52:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 10:54:34 2010 -0800"
      },
      "message": "netfilter: allow hooks to pass error code back up the stack\n\nSELinux would like to pass certain fatal errors back up the stack.  This patch\nimplements the generic netfilter support for this functionality.\n\nBased-on-patch-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f0729b16ae354f9db89394fc1d2d65003455d56",
      "tree": "260a562d0c0079ebfc1c507c9aa50e55a1592b6d",
      "parents": [
        "885a46d0f7942d76c2f3860acb45f75237d3bb42"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Nov 11 15:07:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:39:08 2010 -0500"
      },
      "message": "mac80211: add support for setting the ad-hoc multicast rate\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "885a46d0f7942d76c2f3860acb45f75237d3bb42",
      "tree": "f116fcc9b8204f7a113693e307de76e4098ebb36",
      "parents": [
        "a619a4c0e1fd4e8c360c63d0df3fa0a401107d69"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Nov 11 15:07:22 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:39:08 2010 -0500"
      },
      "message": "cfg80211: add support for setting the ad-hoc multicast rate\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a619a4c0e1fd4e8c360c63d0df3fa0a401107d69",
      "tree": "c9eb89d30834140f252c77bdf578528b11716678",
      "parents": [
        "4e8c14e9587c38f4cce8049c766935629fdb8d46"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Thu Nov 11 08:50:18 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:08 2010 -0500"
      },
      "message": "mac80211: Add function to get probe request template for current AP\n\nChipsets with hardware based connection monitoring need to autonomically\nsend directed probe-request frames to the AP (in the event of beacon loss,\nfor example.)\n\nFor the hardware to be able to do this, it requires a template for the frame\nto transmit to the AP, filled in with the BSSID and SSID of the AP, but also\nthe supported rate IE\u0027s.\n\nThis patch adds a function to mac80211, which allows the hardware driver to\nfetch this template after association, so it can be configured to the hardware.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15d967532148a5fcda075282b82a271b6595a386",
      "tree": "e1913502e74768e685f6793b1d24426ac849b1da",
      "parents": [
        "afe0cbf87500f0585d217deb8c6fd329793a7957"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 10 12:50:56 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:05 2010 -0500"
      },
      "message": "mac80211: Add antenna configuration\n\nAllow antenna configuration by calling driver\u0027s function for it.\n\nWe disallow antenna configuration if the wiphy is already running, mainly to\nmake life easier for 802.11n drivers which need to recalculate HT capabilites.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "afe0cbf87500f0585d217deb8c6fd329793a7957",
      "tree": "a7e4f6db468e623961ab2b71ccf2bfb9c6756894",
      "parents": [
        "0e67d6cb753643fc076a90fa9309301b3fbfb8db"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 10 12:50:50 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:05 2010 -0500"
      },
      "message": "cfg80211: Add nl80211 antenna configuration\n\nAllow setting of TX and RX antennas configuration via nl80211.\n\nThe antenna configuration is defined as a bitmap of allowed antennas to use.\nThis API can be used to mask out antennas which are not attached or should not\nbe used for other reasons like regulatory concerns or special setups.\n\nSeparate bitmaps are used for RX and TX to allow configuring different antennas\nfor receiving and transmitting. Each bitmap is 32 bit long, each bit\nrepresenting one antenna, starting with antenna 1 at the first bit. If an\nantenna bit is set, this means the driver is allowed to use this antenna for RX\nor TX respectively; if the bit is not set the hardware is not allowed to use\nthis antenna.\n\nUsing bitmaps has the benefit of allowing for a flexible configuration\ninterface which can support many different configurations and which can be used\nfor 802.11n as well as non-802.11n devices. Instead of relying on some hardware\nspecific assumptions, drivers can use this information to know which antennas\nare actually attached to the system and derive their capabilities based on\nthat.\n\n802.11n devices should enable or disable chains, based on which antennas are\npresent (If all antennas belonging to a particular chain are disabled, the\nentire chain should be disabled). HT capabilities (like STBC, TX Beamforming,\nAntenna selection) should be calculated based on the available chains after\napplying the antenna masks. Should a 802.11n device have diversity antennas\nattached to one of their chains, diversity can be enabled or disabled based on\nthe antenna information.\n\nNon-802.11n drivers can use the antenna masks to select RX and TX antennas and\nto enable or disable antenna diversity.\n\nWhile covering chainmasks for 802.11n and the standard \"legacy\" modes \"fixed\nantenna 1\", \"fixed antenna 2\" and \"diversity\" this API also allows more rare,\nbut useful configurations as follows:\n\n1) Send on antenna 1, receive on antenna 2 (or vice versa). This can be used to\nhave a low gain antenna for TX in order to keep within the regulatory\nconstraints and a high gain antenna for RX in order to receive weaker signals\n(\"speak softly, but listen harder\"). This can be useful for building long-shot\noutdoor links. Another usage of this setup is having a low-noise pre-amplifier\non antenna 1 and a power amplifier on the other antenna. This way transmit\nnoise is mostly kept out of the low noise receive channel.\n(This would be bitmaps: tx 1 rx 2).\n\n2) Another similar setup is: Use RX diversity on both antennas, but always send\non antenna 1. Again that would allow us to benefit from a higher gain RX\nantenna, while staying within the legal limits.\n(This would be: tx 0 rx 3).\n\n3) And finally there can be special experimental setups in research and\ndevelopment even with pre 802.11n hardware where more than 2 antennas are\navailable. It\u0027s good to keep the API simple, yet flexible.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\n\n--\nv7:\tMade bitmasks 32 bit wide and rebased to latest wireless-testing.\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f23a478075659db8a4fd62fa6e264a8bb052cc5b",
      "tree": "ba1492a4a781770644359b88e8ca2d8d3a00adc2",
      "parents": [
        "ca4a0831917d6541b45f03542257fcb20dc9cf4a"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Nov 08 11:51:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:04 2010 -0500"
      },
      "message": "mac80211: support hardware TX fragmentation offload\n\nThe lower driver is notified when the fragmentation threshold changes\nand upon a reconfig of the interface.\n\nIf the driver supports hardware TX fragmentation, don\u0027t fragment\npackets in the stack.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b178bb3dfc30d9555bdd2401e95af98e23e83e10",
      "tree": "ec52d739015de589ceca1d31c5802305d94c9f6d",
      "parents": [
        "c31504dc0d1dc853dcee509d9999169a9097a717"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 16 05:56:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 11:17:43 2010 -0800"
      },
      "message": "net: reorder struct sock fields\n\nRight now, fields in struct sock are not optimally ordered, because each\npath (RX softirq, TX completion, RX user,  TX user) has to touch fields\nthat are contained in many different cache lines.\n\nThe really critical thing is to shrink number of cache lines that are\nused at RX softirq time : CPU handling softirqs for a device can receive\nmany frames per second for many sockets. If load is too big, we can drop\nframes at NIC level. RPS or multiqueue cards can help, but better reduce\nlatency if possible.\n\nThis patch starts with UDP protocol, then additional patches will try to\nreduce latencies of other ones as well.\n\nAt RX softirq time, fields of interest for UDP protocol are :\n(not counting ones in inet struct for the lookup)\n\nRead/Written:\nsk_refcnt   (atomic increment/decrement)\nsk_rmem_alloc \u0026 sk_backlog.len (to check if there is room in queues)\nsk_receive_queue\nsk_backlog (if socket locked by user program)\nsk_rxhash\nsk_forward_alloc\nsk_drops\n\nRead only:\nsk_rcvbuf (sk_rcvqueues_full())\nsk_filter\nsk_wq\nsk_policy[0]\nsk_flags\n\nAdditional notes :\n\n- sk_backlog has one hole on 64bit arches. We can fill it to save 8\nbytes.\n- sk_backlog is used only if RX sofirq handler finds the socket while\nlocked by user.\n- sk_rxhash is written only once per flow.\n- sk_drops is written only if queues are full\n\nFinal layout :\n\n[1] One section grouping all read/write fields, but placing rxhash and\nsk_backlog at the end of this section.\n\n[2] One section grouping all read fields in RX handler\n   (sk_filter, sk_rcv_buf, sk_wq)\n\n[3] Section used by other paths\n\nI\u0027ll post a patch on its own to put sk_refcnt at the end of struct\nsock_common so that it shares same cache line than section [1]\n\nNew offsets on 64bit arch :\n\nsizeof(struct sock)\u003d0x268\noffsetof(struct sock, sk_refcnt)  \u003d0x10\noffsetof(struct sock, sk_lock)    \u003d0x48\noffsetof(struct sock, sk_receive_queue)\u003d0x68\noffsetof(struct sock, sk_backlog)\u003d0x80\noffsetof(struct sock, sk_rmem_alloc)\u003d0x80\noffsetof(struct sock, sk_forward_alloc)\u003d0x98\noffsetof(struct sock, sk_rxhash)\u003d0x9c\noffsetof(struct sock, sk_rcvbuf)\u003d0xa4\noffsetof(struct sock, sk_drops) \u003d0xa0\noffsetof(struct sock, sk_filter)\u003d0xa8\noffsetof(struct sock, sk_wq)\u003d0xb0\noffsetof(struct sock, sk_policy)\u003d0xd0\noffsetof(struct sock, sk_flags) \u003d0xe0\n\nInstead of :\n\nsizeof(struct sock)\u003d0x270\noffsetof(struct sock, sk_refcnt)  \u003d0x10\noffsetof(struct sock, sk_lock)    \u003d0x50\noffsetof(struct sock, sk_receive_queue)\u003d0xc0\noffsetof(struct sock, sk_backlog)\u003d0x70\noffsetof(struct sock, sk_rmem_alloc)\u003d0xac\noffsetof(struct sock, sk_forward_alloc)\u003d0x10c\noffsetof(struct sock, sk_rxhash)\u003d0x128\noffsetof(struct sock, sk_rcvbuf)\u003d0x4c\noffsetof(struct sock, sk_drops) \u003d0x16c\noffsetof(struct sock, sk_filter)\u003d0x198\noffsetof(struct sock, sk_wq)\u003d0x88\noffsetof(struct sock, sk_policy)\u003d0x98\noffsetof(struct sock, sk_flags) \u003d0x130\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c31504dc0d1dc853dcee509d9999169a9097a717",
      "tree": "8ee1d5616b7140759cf742ef89cf9f7ba1c01b20",
      "parents": [
        "213b15ca818adf7766cd7162c2159a6ecdd3bab8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 15 19:58:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 11:17:43 2010 -0800"
      },
      "message": "udp: use atomic_inc_not_zero_hint\n\nUDP sockets refcount is usually 2, unless an incoming frame is going to\nbe queued in receive or backlog queue.\n\nUsing atomic_inc_not_zero_hint() permits to reduce latency, because\nprocessor issues less memory transactions.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ffab51b3dfc54876f145f15b351c41f3f703195",
      "tree": "0455321fbdb953e77fecff62345f8414553bc394",
      "parents": [
        "0e3125c755445664f00ad036e4fc2cd32fd52877"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 10 21:14:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 10:58:30 2010 -0800"
      },
      "message": "macvlan: lockless tx path\n\nmacvlan is a stacked device, like tunnels. We should use the lockless\nmechanism we are using in tunnels and loopback.\n\nThis patch completely removes locking in TX path.\n\ntx stat counters are added into existing percpu stat structure, renamed\nfrom rx_stats to pcpu_stats.\n\nNote : this reverts commit 2c11455321f37 (macvlan: add multiqueue\ncapability)\n\nNote : rx_errors converted to a 32bit counter, like tx_dropped, since\nthey dont need 64bit range.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3654654f7aa79a37dde130afb7409c55b11807e7",
      "tree": "4e65c0d211a6cc748509b7f3b2da7c45b05d3266",
      "parents": [
        "9d82ca98f71fd686ef2f3017c5e3e6a4871b6e46"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "message": "netlink: let nlmsg and nla functions take pointer-to-const args\n\nThe changed functions do not modify the NL messages and/or attributes\nat all. They should use const (similar to strchr), so that callers\nwhich have a const nlmsg/nlattr around can make use of them without\ncasting.\n\nWhile at it, constify a data array.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5e4156743c5d42b736936be7a9ee8d72e0e4ac9",
      "tree": "f0edde33e7b2502ab35a4f63be1a8be31f5f4b6a",
      "parents": [
        "6b35308850e1679741e8b646cfb7bb3ab5369888",
        "b1d771ee33c6e4006676002b9d74abf45b71d3d6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:17:12 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:17:12 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "309075cf08ed92a7d2c0e22b7653c5daabbd7ad1",
      "tree": "65b181daa85a0b7e92460a1f71139ff50de07eb4",
      "parents": [
        "62370e2b9376ea7b76e0423de28ccb322c17e2da"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Fri Nov 12 08:53:56 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 15:00:42 2010 -0500"
      },
      "message": "cfg80211: fix WIPHY_FLAG_IBSS_RSN bit\n\nWIPHY_FLAG_IBSS_RSN is BIT(7) as is WIPHY_FLAG_CONTROL_PORT_PROTOCOL. Change\nto BIT(8).\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62370e2b9376ea7b76e0423de28ccb322c17e2da",
      "tree": "9c931b3bc1b5f1ef5b681de3cf567bda783e61a7",
      "parents": [
        "7379efeacb707f49729080791a7a562d8996aec4"
      ],
      "author": {
        "name": "Arnd Hannemann",
        "email": "arnd@arndnet.de",
        "time": "Thu Nov 11 11:44:32 2010 -0600"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 15:00:42 2010 -0500"
      },
      "message": "b43legacy: Fix compile on ARM architecture\n\nWhen b43legacy is compiled on the arm platform, the following errors are seen:\n\n  CC [M]  drivers/net/wireless/b43legacy/xmit.o\nIn file included from include/net/dst.h:11,\nfrom drivers/net/wireless/b43legacy/xmit.c:31:\ninclude/net/dst_ops.h:28: error: expected \u0027:\u0027, \u0027,\u0027, \u0027;\u0027, \u0027}\u0027 or \u0027__attribute__\u0027\n   before \u0027____cacheline_aligned_in_smp\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_fast\u0027:\ninclude/net/dst_ops.h:33: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_slow\u0027:\ninclude/net/dst_ops.h:41: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_add\u0027:\ninclude/net/dst_ops.h:49: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_init\u0027:\ninclude/net/dst_ops.h:55: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_destroy\u0027:\ninclude/net/dst_ops.h:60: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\nmake[4]: *** [drivers/net/wireless/b43legacy/xmit.o] Error 1\nmake[3]: *** [drivers/net/wireless/b43legacy] Error 2\nmake[2]: *** [drivers/net/wireless] Error 2\nmake[1]: *** [drivers/net] Error 2\nmake: *** [drivers] Error 2\n\nThe cause is a missing include of \u003clinux/cache.h\u003e, which is present for\ni386 and x86_64 architectures, but not for arm.\n\nSigned-off-by: Arnd Hannemann \u003carnd@arndnet.de\u003e\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b42a96dc7870c53d20b419185737d3b8f7a7b74",
      "tree": "8aa38800e4c203842e500ef10ddf48cae3daa991",
      "parents": [
        "9457b24a0955bbdd2e89220a75de69fe09501bba"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Nov 15 06:01:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:29:30 2010 -0800"
      },
      "message": "net: rtnetlink.h -- only include linux/netdevice.h when used by the kernel\n\nThe commit below added a new helper dev_ingress_queue to cleanly obtain the\ningress queue pointer.  This necessitated including \u0027linux/netdevice.h\u0027:\n\n  commit 24824a09e35402b8d58dcc5be803a5ad3937bdba\n  Author: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n  Date:   Sat Oct 2 06:11:55 2010 +0000\n\n    net: dynamic ingress_queue allocation\n\nHowever this include triggers issues for applications in userspace\nwhich use the rtnetlink interfaces.  Commonly this requires they include\n\u0027net/if.h\u0027 and \u0027linux/rtnetlink.h\u0027 leading to a compiler error as below:\n\n  In file included from /usr/include/linux/netdevice.h:28:0,\n                   from /usr/include/linux/rtnetlink.h:9,\n                   from t.c:2:\n  /usr/include/linux/if.h:135:8: error: redefinition of ‘struct ifmap’\n  /usr/include/net/if.h:112:8: note: originally defined here\n  /usr/include/linux/if.h:169:8: error: redefinition of ‘struct ifreq’\n  /usr/include/net/if.h:127:8: note: originally defined here\n  /usr/include/linux/if.h:218:8: error: redefinition of ‘struct ifconf’\n  /usr/include/net/if.h:177:8: note: originally defined here\n\nThe new helper is only defined for the kernel and protected by __KERNEL__\ntherefore we can simply pull the include down into the same protected\nsection.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61391cde9eefac5cfcf6d214aa80c77e58b1626b",
      "tree": "bcebcb5abe6638b7cde05f8ca5b51bba95cf1122",
      "parents": [
        "a386f99025f13b32502fe5dedf223c20d7283826"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 15 06:38:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:17 2010 -0800"
      },
      "message": "netdev: add rcu annotations to receive handler hook\n\nSuggested by Eric\u0027s bridge RCU changes.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a386f99025f13b32502fe5dedf223c20d7283826",
      "tree": "63f137ee76576555118ae0ff6a49ee6f0412aa11",
      "parents": [
        "e80516880019aa1f7c5c410276edfea9575ec89f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 15 06:38:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:13:16 2010 -0800"
      },
      "message": "bridge: add proper RCU annotation to should_route_hook\n\nAdd br_should_route_hook_t typedef, this is the only way we can\nget a clean RCU implementation for function pointer.\n\nMove route_hook to location where it is used.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d577f1ccdd8ae8bfbe6063eb2ba2a350259e9031",
      "tree": "75ad5e24a7031ff4f16f5a2572a0ff4ac9959168",
      "parents": [
        "c59504ebc5baa628706d10c2d3c7e1f4bc3c2147"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:07:16 2010 -0800"
      },
      "message": "include/net/caif/cfctrl.h: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c59504ebc5baa628706d10c2d3c7e1f4bc3c2147",
      "tree": "cb4cc57485e6041102e2e7a5127556733adef78c",
      "parents": [
        "779bb41d4bd111d5631d58d1bf2d00b5c4389c80"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 17:04:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 11:07:15 2010 -0800"
      },
      "message": "include/linux/if_macvlan.h: Remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c1b6c6b873d66d353ef47a054156dfde3f4c075",
      "tree": "e07e4286cab3df4738951fae2e9f82e8a4578d43",
      "parents": [
        "fe8222406c8277a21172479d3a8283d31c209028",
        "7e87fe84303cc54ecf3c7b688cb08ca24322a41d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:59:49 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:59:49 2010 -0800"
      },
      "message": "Merge branch \u0027dccp\u0027 of git://eden-feed.erg.abdn.ac.uk/net-next-2.6\n"
    },
    {
      "commit": "fe8222406c8277a21172479d3a8283d31c209028",
      "tree": "89876457391fba73e3c2c9fdbf9c28a980ad4ffc",
      "parents": [
        "ed9af2e839c06c18f721da2c768fbb444c4a10e5"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Tue Nov 09 10:47:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:57:28 2010 -0800"
      },
      "message": "net: Simplify RX queue allocation\n\nThis patch move RX queue allocation to alloc_netdev_mq and freeing of\nthe queues to free_netdev (symmetric to TX queue allocation).  Each\nkobject RX queue takes a reference to the queue\u0027s device so that the\ndevice can\u0027t be freed before all the kobjects have been released-- this\nobviates the need for reference counts specific to RX queues.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc9ff19da9bf76a2f70bcb80225a1c587c162e52",
      "tree": "181efcd617a42a48fa94c51cfe9dc0e77b3b5775",
      "parents": [
        "e1f2d8c2cc61d2b9472efe44e8a2b098336914b4"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Wed Nov 03 04:41:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 10:44:04 2010 -0800"
      },
      "message": "xfrm: use gre key as flow upper protocol info\n\nThe GRE Key field is intended to be used for identifying an individual\ntraffic flow within a tunnel. It is useful to be able to have XFRM\npolicy selector matches to have different policies for different\nGRE tunnels.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7919a57bc608140aa8614c19eac40c6916fb61d2",
      "tree": "0813ff8983a937eae8636808167bc59aa0e80c34",
      "parents": [
        "e4b3fdb80021bc0a3239bfc2a873a6d7c6ac52a1"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann3@amd.com",
        "time": "Mon Aug 30 19:04:01 2010 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:27:04 2010 -0500"
      },
      "message": "bitops: Provide generic sign_extend32 function\n\nThis patch moves code out from wireless drivers where two different\nfunctions are defined in three code locations for the same purpose and\nprovides a common function to sign extend a 32-bit value.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c8aea565e8f715d9f10064b1cbfbc15bf75df501",
      "tree": "4c0b875ef905991f3096e169b3469efb1d677ea7",
      "parents": [
        "34d59c07e9ad7130813c28f8554ef1298af923b7"
      ],
      "author": {
        "name": "Gery Kahn",
        "email": "geryk@ti.com",
        "time": "Tue Oct 05 16:09:05 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:25:02 2010 -0500"
      },
      "message": "wl1271: ref_clock cosmetic changes\n\nCosmetic cleanup for ref_clock code while configured by board.\n\nSigned-off-by: Gery Kahn \u003cgeryk@ti.com\u003e\nSigned-off-by: Luciano Coelho \u003cluciano.coelho@nokia.com\u003e\n"
    },
    {
      "commit": "ca4ffe8f2848169a8ded0ea8a60b2d81925564c9",
      "tree": "bfc6dabaf52b07b59c5146e26f71fe5193ddd04c",
      "parents": [
        "749b527b21465fb079796c03ffb4302584dc31c1"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:55 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:10 2010 -0500"
      },
      "message": "cfg80211: fix disabling channels based on hints\n\nAfter a module loads you will have loaded the world roaming regulatory\ndomain or a custom regulatory domain. Further regulatory hints are\nwelcomed and should be respected unless the regulatory hint is coming\nfrom a country IE as the IEEE spec allows for a country IE to be a subset\nof what is allowed by the local regulatory agencies.\n\nSo disable all channels that do not fit a regulatory domain sent\nfrom a unless the hint is from a country IE and the country IE had\nno information about the band we are currently processing.\n\nThis fixes a few regulatory issues, for example for drivers that depend\non CRDA and had no 5 GHz freqencies allowed were not properly disabling\n5 GHz at all, furthermore it also allows users to restrict devices\nfurther as was intended.\n\nIf you recieve a country IE upon association we will also disable the\nchannels that are not allowed if the country IE had at least one\nchannel on the respective band we are procesing.\n\nThis was the original intention behind this design but it was\ncompletely overlooked...\n\nCc: David Quan \u003cdavid.quan@atheros.com\u003e\nCc: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\ncc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "749b527b21465fb079796c03ffb4302584dc31c1",
      "tree": "07269dcd8f82d163c3d7195d536f61b768da6c58",
      "parents": [
        "7ca43d03b1291481bdf894bbaec5d580e7684e7d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:54 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:09 2010 -0500"
      },
      "message": "cfg80211: fix allowing country IEs for WIPHY_FLAG_STRICT_REGULATORY\n\nWe should be enabling country IE hints for WIPHY_FLAG_STRICT_REGULATORY\neven if we haven\u0027t yet recieved regulatory domain hint for the driver\nif it needed one. Without this Country IEs are not passed on to drivers\nthat have set WIPHY_FLAG_STRICT_REGULATORY, today this is just all\nAtheros chipset drivers: ath5k, ath9k, ar9170, carl9170.\n\nThis was part of the original design, however it was completely\noverlooked...\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e48928d8a0f38c1b5c81eb3f1294de8a6382c68",
      "tree": "a752efac53a5bc036528d65625e990c0d4291ff7",
      "parents": [
        "e081685c1bbe8da37c7f61726fdb783ff277f14f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 20 10:16:58 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:06 2010 -0500"
      },
      "message": "rfkill: remove dead code\n\nThe following code is defined but never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "58e998c6d23988490162cef0784b19ea274d90bb",
      "tree": "de3bbb355639d4bd6f2858d6265537672554d13b",
      "parents": [
        "c8d5bcd1aff89199cde4bd82c5c40fb704c8bba4"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Fri Oct 29 12:14:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 15 09:22:53 2010 -0800"
      },
      "message": "offloading: Force software GSO for multiple vlan tags.\n\nWe currently use vlan_features to check for TSO support if there is\na vlan tag.  However, it\u0027s quite likely that the NIC is not able to\ndo TSO when there is an arbitrary number of tags.  Therefore if there\nis more than one tag (in-band or out-of-band), fall back to software\nemulation.\n\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d83447f0944e73d690218d79c07762ffa4ceb9e4",
      "tree": "2a9adf943eee50d8c495ac9302692a277d862d92",
      "parents": [
        "18219463c884bfdb7954d298b9edb5194b14d621"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 14 17:25:46 2010 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 15 07:12:00 2010 +0100"
      },
      "message": "dccp ccid-2: Schedule Sync as out-of-band mechanism\n\nThe problem with Ack Vectors is that\n  i) their length is variable and can in principle grow quite large,\n ii) it is hard to predict exactly how large they will be.\n\nDue to the second point it seems not a good idea to reduce the MPS; in\nparticular when on average there is enough room for the Ack Vector and an\nincrease in length is momentarily due to some burst loss, after which the\nAck Vector returns to its normal/average length.\n\nThe solution taken by this patch is to subtract a minimum-expected Ack Vector\nlength from the MPS, and to defer any larger Ack Vectors onto a separate\nSync - but only if indeed there is no space left on the skb.\n\nThis patch provides the infrastructure to schedule Sync-packets for transporting\n(urgent) out-of-band data. Its signalling is quicker than scheduling an Ack, since\nit does not need to wait for new application data.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "c25ecd0a21d5e08160cb5cc984f9e2b8ee347443",
      "tree": "0e4dcacf1bf603f259b8d27445a10e60fa8d00d7",
      "parents": [
        "190683a9d5457e6d962c232ffbecac3ab158dddd",
        "9457b24a0955bbdd2e89220a75de69fe09501bba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 14 11:57:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 14 11:57:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "9457b24a0955bbdd2e89220a75de69fe09501bba",
      "tree": "cb484848e14cc2705c4513ad3ec1f0420a4d55db",
      "parents": [
        "80ef913f5e6a84551545016cea709f5e96d0cda6",
        "0597d1b99fcfc2c0eada09a698f85ed413d4ba84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 17:17:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 17:17:55 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits)\n  can-bcm: fix minor heap overflow\n  gianfar: Do not call device_set_wakeup_enable() under a spinlock\n  ipv6: Warn users if maximum number of routes is reached.\n  docs: Add neigh/gc_thresh3 and route/max_size documentation.\n  axnet_cs: fix resume problem for some Ax88790 chip\n  ipv6: addrconf: don\u0027t remove address state on ifdown if the address is being kept\n  tcp: Don\u0027t change unlocked socket state in tcp_v4_err().\n  x25: Prevent crashing when parsing bad X.25 facilities\n  cxgb4vf: add call to Firmware to reset VF State.\n  cxgb4vf: Fail open if link_start() fails.\n  cxgb4vf: flesh out PCI Device ID Table ...\n  cxgb4vf: fix some errors in Gather List to skb conversion\n  cxgb4vf: fix bug in Generic Receive Offload\n  cxgb4vf: don\u0027t implement trivial (and incorrect) ndo_select_queue()\n  ixgbe: Look inside vlan when determining offload protocol.\n  bnx2x: Look inside vlan when determining checksum proto.\n  vlan: Add function to retrieve EtherType from vlan packets.\n  virtio-net: init link state correctly\n  ucc_geth: Fix deadlock\n  ucc_geth: Do not bring the whole IF down when TX failure.\n  ...\n"
    },
    {
      "commit": "00dad7fa99701f5ca83b9f598d1c36c9523bbbf7",
      "tree": "6cd0f9a4b63ed0fe25c1cfd48978209e0819e86b",
      "parents": [
        "edaa4d668babd65e98e1452043996bbefc0285b0",
        "868719752d60fb04a3714d77fdeb780b4d585faf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 17:13:28 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 17:13:28 2010 -0800"
      },
      "message": "Merge branch \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (28 commits)\n  Revert \"USB: xhci: Use GFP_ATOMIC under spin_lock\"\n  USB: ohci-jz4740: Fix spelling in MODULE_ALIAS\n  UWB: Return UWB_RSV_ALLOC_NOT_FOUND rather than crashing on NULL dereference if kzalloc fails\n  usb: core: fix information leak to userland\n  usb: misc: iowarrior: fix information leak to userland\n  usb: misc: sisusbvga: fix information leak to userland\n  usb: subtle increased memory usage in u_serial\n  USB: option: fix when the driver is loaded incorrectly for some Huawei devices.\n  USB: xhci: Use GFP_ATOMIC under spin_lock\n  usb: gadget: goku_udc: add registered flag bit, fixing build\n  USB: ehci/mxc: compile fix\n  USB: Fix FSL USB driver on non Open Firmware systems\n  USB: the development of the usb tree is now in git\n  usb: musb: fail unaligned DMA transfers on v1.8 and above\n  USB: ftdi_sio: add device IDs for Milkymist One JTAG/serial\n  usb.h: fix ioctl kernel-doc info\n  usb: musb: gadget: kill duplicate code in musb_gadget_queue()\n  usb: musb: Fix handling of spurious SESSREQ\n  usb: musb: fix kernel oops when loading musb_hdrc module for the 2nd time\n  USB: musb: blackfin: push clkin value to platform resources\n  ...\n"
    },
    {
      "commit": "edaa4d668babd65e98e1452043996bbefc0285b0",
      "tree": "a6cf4c6083ae49e8d1b7a4efc92a32864a79e534",
      "parents": [
        "891cbd30ef456664e50bbd28436ef3006a81cf7c",
        "40e3465db2cffd64e069ca82ee981025554bc159"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 16:02:30 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 16:02:30 2010 -0800"
      },
      "message": "Merge branch \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  n_gsm: Fix length handling\n  n_gsm: Copy n2 over when configuring via ioctl interface\n  serial: bfin_5xx: grab port lock before making port termios changes\n  serial: bfin_5xx: disable CON_PRINTBUFFER for consoles\n  serial: bfin_5xx: remove redundant SSYNC to improve TX speed\n  serial: bfin_5xx: always include DMA headers\n  vcs: make proper usage of the poll flags\n  amiserial: Remove unused variable icount\n  8250: Fix tcsetattr to avoid ioctl(TIOCMIWAIT) hang\n  tty_ldisc: Fix BUG() on hangup\n  TTY: restore tty_ldisc_wait_idle\n  SERIAL: blacklist si3052 chip\n  drivers/serial/bfin_5xx.c: Fix line continuation defects\n  tty: prevent DOS in the flush_to_ldisc\n  8250: add support for Kouwell KW-L221N-2\n  nozomi: Fix warning from the previous TIOCGCOUNT changes\n  tty: fix warning in synclink driver\n  tty: Fix formatting in tty.h\n  tty: the development tree is now done in git\n"
    },
    {
      "commit": "1d7138de878d1d4210727c1200193e69596f93b3",
      "tree": "f7abb08bfdf35d1e876f93d24ce44072d2f6ed72",
      "parents": [
        "f5539b5bfa2e00f2a6fd35731db66142a2f327c0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 12 05:46:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 13:18:57 2010 -0800"
      },
      "message": "igmp: RCU conversion of in_dev-\u003emc_list\n\nin_dev-\u003emc_list is protected by one rwlock (in_dev-\u003emc_list_lock).\n\nThis can easily be converted to a RCU protection.\n\nWriters hold RTNL, so mc_list_lock is removed, not replaced by a\nspinlock.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Cypher Wu \u003ccypher.w@gmail.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a85df004667c99efc31fab07386823eefce3be5",
      "tree": "2fe059bc77f52e3cdb6ab665e41dd1eba9d4fc08",
      "parents": [
        "167c25e4c5501f8b7e37f949d23652975c5a769c"
      ],
      "author": {
        "name": "Hao Zheng",
        "email": "hzheng@nicira.com",
        "time": "Thu Nov 11 13:47:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 12:30:57 2010 -0800"
      },
      "message": "vlan: Add function to retrieve EtherType from vlan packets.\n\nDepending on how a packet is vlan tagged (i.e. hardware accelerated or\nnot), the encapsulated protocol is stored in different locations.  This\nprovides a consistent method of accessing that protocol, which is needed\nby drivers, security checks, etc.\n\nSigned-off-by: Hao Zheng \u003chzheng@nicira.com\u003e\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c13a0d9a1ac6875f6380763b947f4a5a016605f",
      "tree": "fbf7b41bc8cc250e6f9add13541e7d1c408a33b8",
      "parents": [
        "369cf77a6a3e41b1110506ddf43d45804103bfde",
        "22e091e5253da1e9ad7c0a82c2c84446fc403efe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 11:04:26 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 11:04:26 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "7803c05429c7ca4e62fc3468791b7da224866305",
      "tree": "9edf5f4bc9a9d2dd86b17039cc53b4985ea14b94",
      "parents": [
        "522a99140ff4794ddd168568c583fea1c8f75397",
        "5fdbe44d033d059cc56c2803e6b4dbd8cb4e5e39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 09:52:31 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 09:52:31 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: do not pass injected events back to the originating handler\n  Input: pcf8574_keypad - fix error handling in pcf8574_kp_probe\n  Input: acecad - fix a memory leak in usb_acecad_probe error path\n  Input: atkbd - add \u0027terminal\u0027 parameter for IBM Terminal keyboards\n  Input: i8042 - add Sony VAIOs to MUX blacklist\n  kgdboc: reset input devices (keyboards) when exiting debugger\n  Input: export input_reset_device() for use in KGDB\n  Input: adp5588-keys - unify common header defines\n"
    },
    {
      "commit": "8a9f772c14f85e2a580baadc50c194835da2d4e5",
      "tree": "4ac04e465fa8295944f997fb517dc9904bb8e4f3",
      "parents": [
        "25a34554d600b799cbf5159bef372b02d3b4e1c6",
        "cedb4a7d9f6aedb0dce94d6285b69dcb3c10fa05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (27 commits)\n  block: remove unused copy_io_context()\n  Documentation: remove anticipatory scheduler info\n  block: remove REQ_HARDBARRIER\n  ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n  ioprio: fix RCU locking around task dereference\n  block: ioctl: fix information leak to userland\n  block: read i_size with i_size_read()\n  cciss: fix proc warning on attempt to remove non-existant directory\n  bio: take care not overflow page count when mapping/copying user data\n  block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n  block: take care not to overflow when calculating total iov length\n  block: check for proper length of iov entries in blk_rq_map_user_iov()\n  cciss: remove controllers supported by hpsa\n  cciss: use usleep_range not msleep for small sleeps\n  cciss: limit commands allocated on reset_devices\n  cciss: Use kernel provided PCI state save and restore functions\n  cciss: fix board status waiting code\n  drbd: Removed checks for REQ_HARDBARRIER on incomming BIOs\n  drbd: REQ_HARDBARRIER -\u003e REQ_FUA transition for meta data accesses\n  drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code\n  ...\n"
    },
    {
      "commit": "28397babba4d2bb4a529859dd1f4fb9a0beb3e48",
      "tree": "d8ec5cb703d3d8e2c7d0e66f25c361c90aee3ae2",
      "parents": [
        "99efb9369c54fa98fc354a9ad4bc8c59f3212ff4",
        "034c6efa4616e5ff6253549e973e7fef12899324"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:39:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:39:52 2010 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf, amd: Use kmalloc_node(,__GFP_ZERO) for northbridge structure allocation\n  perf_events: Fix time tracking in samples\n  perf trace: update usage\n  perf trace: update Documentation with new perf trace variants\n  perf trace: live-mode command-line cleanup\n  perf trace record: handle commands correctly\n  perf record: make the record options available outside perf record\n  perf trace scripting: remove system-wide param from shell scripts\n  perf trace scripting: fix some small memory leaks and missing error checks\n  perf: Fix usages of profile_cpu in builtin-top.c to use cpu_list\n  perf, ui: Eliminate stack-smashing protection compiler complaint\n"
    },
    {
      "commit": "99efb9369c54fa98fc354a9ad4bc8c59f3212ff4",
      "tree": "e6e6145d84a1e0f4f0c190434746dfee0da5dd9e",
      "parents": [
        "fb1cb7b27bba3446bed377c173dbdd2d288e3992",
        "7dfbbdcffebc41441e64278961f57d2840a76259"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:58 2010 -0800"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (39 commits)\n  drm/ttm: Be consistent on ttm_bo_init() failures\n  drm/radeon/kms: Fix retrying ttm_bo_init() after it failed once.\n  drm/radeon/kms: fix thermal sensor reporting on rv6xx\n  drm/radeon/kms: fix bugs in ddc and cd path router code\n  drm/radeon/kms: add support for clock/data path routers\n  drm: vmwgfx: fix information leak to userland\n  drivers/gpu: Use vzalloc\n  drm/vmwgfx: Fix oops on failing bo pin\n  drm/ttm: Remove the CAP_SYS_ADMIN requirement for bo pinning\n  drm/ttm: Make sure a sync object doesn\u0027t disappear while we use it\n  drm/radeon/kms: don\u0027t disable shared encoders on pre-DCE3 display blocks\n  drivers/gpu/drm: Update WARN uses\n  drivers/gpu/drm/vmwgfx: Fix k.alloc switched arguments\n  DRM: ignore invalid EDID extensions\n  drm/radeon/kms: make the connector code less verbose\n  drm/ttm: remove failed ttm binding error printout\n  drm/ttm: Add a barrier when unreserving\n  drm/ttm: Remove mm init error printouts and checks\n  drm/ttm: Remove pointless list_empty check\n  drm/ttm: Use private locks for the default bo range manager\n  ...\n"
    },
    {
      "commit": "0f90933c477c061df6daf42d814ff2012aea43cc",
      "tree": "10c1e1ec16a1874416f9aa18e44a31a6d3087952",
      "parents": [
        "e2b348354112df63a9c2ea4219a6867c6c7ea100",
        "8896b93f42459b18b145c69d399b62870df48061"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux:\n  locks: remove dead lease error-handling code\n  locks: fix leak on merging leases\n  nfsd4: fix 4.1 connection registration race\n"
    },
    {
      "commit": "fef7764f8bca9d603a8a51dcb522db97739a33c2",
      "tree": "cd3a3d97e729cf814c924e3dd5bd81aca6a3ace4",
      "parents": [
        "a1025e224c518dceb342d0cc54e5513c6476f60c"
      ],
      "author": {
        "name": "Arun Murthy",
        "email": "arun.murthy@stericsson.com",
        "time": "Thu Nov 11 14:05:28 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:33 2010 -0800"
      },
      "message": "backlight: add low threshold to pwm backlight\n\nThe intensity of the backlight can be varied from a range of\nmax_brightness to zero.  Though most, if not all the pwm based backlight\ndevices start flickering at lower brightness value.  And also for each\ndevice there exists a brightness value below which the backlight appears\nto be turned off though the value is not equal to zero.\n\nIf the range of brightness for a device is from zero to max_brightness.  A\ngraph is plotted for brightness Vs intensity for the pwm based backlight\ndevice has to be a linear graph.\n\nintensity\n\t  |   /\n\t  |  /\n\t  | /\n\t  |/\n\t  ---------\n\t 0\tmax_brightness\n\nBut pratically on measuring the above we note that the intensity of\nbacklight goes to zero(OFF) when the value in not zero almost nearing to\nzero(some x%).  so the graph looks like\n\nintensity\n\t  |    /\n\t  |   /\n\t  |  /\n\t  |  |\n\t  ------------\n\t 0   x\t max_brightness\n\nIn order to overcome this drawback knowing this x% i.e nothing but the low\nthreshold beyond which the backlight is off and will have no effect, the\nbrightness value is being offset by the low threshold value(retaining the\nlinearity of the graph).  Now the graph becomes\n\nintensity\n\t  |     /\n\t  |    /\n\t  |   /\n\t  |  /\n\t  -------------\n\t   0\t  max_brightness\n\nWith this for each and every digit increment in the brightness from zero\nthere is a change in the intensity of backlight.  Devices having this\nbehaviour can set the low threshold brightness(lth_brightness) and pass\nthe same as platform data else can have it as zero.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Arun Murthy \u003carun.murthy@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nAcked-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0efba16cc05bfe1f80471886c7a888a4744138cf",
      "tree": "9d0a5f76c91f5de9053079ad777868f03d403119",
      "parents": [
        "500fe141367e5291257e809c12f95ea54181e96d"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Thu Nov 11 14:05:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "leds: driver for National Semiconductors LP5523 chip\n\nLP5523 chip is nine channel led driver with programmable engines.  Driver\nprovides support for that chip for direct access via led class or via\nprogrammable engines.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "500fe141367e5291257e809c12f95ea54181e96d",
      "tree": "3137e33c4b9993f2c4283175a3852d86053cf57c",
      "parents": [
        "5ada28bf76752e33dce3d807bf0dfbe6d1b943ad"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Thu Nov 11 14:05:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "leds: driver for National Semiconductor LP5521 chip\n\nThis patchset provides support for LP5521 and LP5523 LED driver chips from\nNational Semicondutor.  Both drivers supports programmable engines and\nnaturally LED class features.\n\nDocumentation is provided as a part of the patchset.  I created \"leds\"\nsubdirectory under Documentation.  Perhaps the rest of the leds*\ndocumentation should be moved there.\n\nDatasheets are freely available at National Semiconductor www pages.\n\nThis patch:\n\nLP5521 chip is three channel led driver with programmable engines.  Driver\nprovides support for that chip for direct access via led class or via\nprogrammable engines.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ada28bf76752e33dce3d807bf0dfbe6d1b943ad",
      "tree": "03ce703dce3c5f5afad16a81556608700849d6c5",
      "parents": [
        "52ca0e84b05595cf74f1ff772b3f9807256b1b27"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 11 14:05:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "led-class: always implement blinking\n\nCurrently, blinking LEDs can be awkward because it is not guaranteed that\nall LEDs implement blinking.  The trigger that wants it to blink then\nneeds to implement its own timer solution.\n\nRather than require that, add led_blink_set() API that triggers can use.\nThis function will attempt to use hw blinking, but if that fails\nimplements a timer for it.  To stop blinking again, brightness_set() also\nneeds to be wrapped into API that will stop the software blink.\n\nAs a result of this, the timer trigger becomes a very trivial one, and\nhopefully we can finally see triggers using blinking as well because it\u0027s\nalways easy to use.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Richard Purdie \u003crpurdie@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27d20fddc8af539464fc3ba499d6a830054c3bd6",
      "tree": "23514cfe88f90150a8635c47586a8a378fb905e3",
      "parents": [
        "eaf06b241b091357e72b76863ba16e89610d31bd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Thu Nov 11 14:05:19 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "radix-tree: fix RCU bug\n\nSalman Qazi describes the following radix-tree bug:\n\nIn the following case, we get can get a deadlock:\n\n0.  The radix tree contains two items, one has the index 0.\n1.  The reader (in this case find_get_pages) takes the rcu_read_lock.\n2.  The reader acquires slot(s) for item(s) including the index 0 item.\n3.  The non-zero index item is deleted, and as a consequence the other item is\n    moved to the root of the tree. The place where it used to be is queued for\n    deletion after the readers finish.\n3b. The zero item is deleted, removing it from the direct slot, it remains in\n    the rcu-delayed indirect node.\n4.  The reader looks at the index 0 slot, and finds that the page has 0 ref\n    count\n5.  The reader looks at it again, hoping that the item will either be freed or\n    the ref count will increase. This never happens, as the slot it is looking\n    at will never be updated. Also, this slot can never be reclaimed because\n    the reader is holding rcu_read_lock and is in an infinite loop.\n\nThe fix is to re-use the same \"indirect\" pointer case that requires a slot\nlookup retry into a general \"retry the lookup\" bit.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nReported-by: Salman Qazi \u003csqazi@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaf06b241b091357e72b76863ba16e89610d31bd",
      "tree": "83bc8667309050b3538630707513574c14c51f37",
      "parents": [
        "203f40a5a030ed4048cd40e3bd9ab5df6c5df589"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Thu Nov 11 14:05:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "Restrict unprivileged access to kernel syslog\n\nThe kernel syslog contains debugging information that is often useful\nduring exploitation of other vulnerabilities, such as kernel heap\naddresses.  Rather than futilely attempt to sanitize hundreds (or\nthousands) of printk statements and simultaneously cripple useful\ndebugging functionality, it is far simpler to create an option that\nprevents unprivileged users from reading the syslog.\n\nThis patch, loosely based on grsecurity\u0027s GRKERNSEC_DMESG, creates the\ndmesg_restrict sysctl.  When set to \"0\", the default, no restrictions are\nenforced.  When set to \"1\", only users with CAP_SYS_ADMIN can read the\nkernel syslog via dmesg(8) or other mechanisms.\n\n[akpm@linux-foundation.org: explain the config option in kernel.txt]\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43b3a0c732776746f53d8ed2ba659583fc1692aa",
      "tree": "d72a9778374061bbdb1865f60c6cacce7eacb3b9",
      "parents": [
        "3f9d35b9514da6757ca98831372518f9eeb71b33"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Nov 11 14:05:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:30 2010 -0800"
      },
      "message": "include/linux/highmem.h needs hardirq.h\n\nCommit 3e4d3af501cc (\"mm: stack based kmap_atomic()\") introduced the\nkmap_atomic_idx_push() function which warns on in_irq() with\nCONFIG_DEBUG_HIGHMEM enabled.  This patch includes linux/hardirq.h for\nthe in_irq definition.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f9d35b9514da6757ca98831372518f9eeb71b33",
      "tree": "94dec500b9f6698520488c5e2ce8a24edf7f6c5d",
      "parents": [
        "8705a1baf78287eceeb00bc29401d0ae6a03f213"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 11 14:05:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:30 2010 -0800"
      },
      "message": "atomic: add atomic_inc_not_zero_hint()\n\nFollowup of perf tools session in Netfilter WorkShop 2010\n\nIn the network stack we make high usage of atomic_inc_not_zero() in\ncontexts we know the probable value of atomic before increment (2 for udp\nsockets for example)\n\nUsing a special version of atomic_inc_not_zero() giving this hint can help\nprocessor to use less bus transactions.\n\nOn x86 (MESI protocol) for example, this avoids entering Shared state,\nbecause \"lock cmpxchg\" issues an RFO (Read For Ownership)\n\nakpm: Adds a new include/linux/atomic.h.  This means that new code should\nhenceforth include linux/atomic.h and not asm/atomic.h.  The presence of\ninclude/linux/atomic.h will in fact cause checkpatch.pl to warn about use\nof asm/atomic.h.  The new include/linux/atomic.h becomes the place where\narch-neutral atomic_t code should be placed.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8705a1baf78287eceeb00bc29401d0ae6a03f213"
}
