)]}'
{
  "log": [
    {
      "commit": "bf47f4b0babe287f250dd720b41ecad9b8f7ac9b",
      "tree": "0829ef3bff455f98155b5cb0e91b71db36de3510",
      "parents": [
        "0b9715e64f7d46a9620d4d5042a5e28f5595ed54",
        "5b285cac3570a935aaa28312c1ea28f9e01c5452"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:30:45 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:30:45 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "8e1c298c01d4596fa2837913e531a93a791a7bec",
      "tree": "5655c86172a412b78473db6340089217c1787d20",
      "parents": [
        "107e7be628821dcb78c43adce0331e8ddb40eabd"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Tue May 11 14:30:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:02:23 2010 -0700"
      },
      "message": "tipc: Update commenting in TIPC API\n\nEliminate comments in TIPC\u0027s main API files that are either obsolete,\nincorrect, misleading, or unhelpful.  It also adds in one new comment.\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": "107e7be628821dcb78c43adce0331e8ddb40eabd",
      "tree": "dba793bc4424134a380f58b6af17530440bdfb4f",
      "parents": [
        "3aec9cc936217a30dbb45a9b6808a39571674e66"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Tue May 11 14:30:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:02:23 2010 -0700"
      },
      "message": "tipc: Add support for \"-s\" configuration option\n\nProvide initial support for displaying overall TIPC status/statistics\ninformation at runtime.  Currently, only version info for the TIPC\nkernel module is displayed.\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": "278554bd6579206921f5d8a523649a7a57f8850d",
      "tree": "4e6c527daf0910e455b3aa72e2c96b0479e430be",
      "parents": [
        "5a147e8bf982f9dd414c1dd751fe02c1942506b2",
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ar9170/usb.c\n\tdrivers/scsi/iscsi_tcp.c\n\tnet/ipv4/ipmr.c\n"
    },
    {
      "commit": "34441427aab4bdb3069a4ffcda69a99357abcb2e",
      "tree": "3beebde910f25b0945e9105017fd743c9e5241a5",
      "parents": [
        "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue May 11 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "revert \"procfs: provide stack information for threads\" and its fixup commits\n\nOriginally, commit d899bf7b (\"procfs: provide stack information for\nthreads\") attempted to introduce a new feature for showing where the\nthreadstack was located and how many pages are being utilized by the\nstack.\n\nCommit c44972f1 (\"procfs: disable per-task stack usage on NOMMU\") was\napplied to fix the NO_MMU case.\n\nCommit 89240ba0 (\"x86, fs: Fix x86 procfs stack information for threads on\n64-bit\") was applied to fix a bug in ia32 executables being loaded.\n\nCommit 9ebd4eba7 (\"procfs: fix /proc/\u003cpid\u003e/stat stack pointer for kernel\nthreads\") was applied to fix a bug which had kernel threads printing a\nuserland stack address.\n\nCommit 1306d603f (\u0027proc: partially revert \"procfs: provide stack\ninformation for threads\"\u0027) was then applied to revert the stack pages\nbeing used to solve a significant performance regression.\n\nThis patch nearly undoes the effect of all these patches.\n\nThe reason for reverting these is it provides an unusable value in\nfield 28.  For x86_64, a fork will result in the task-\u003estack_start\nvalue being updated to the current user top of stack and not the stack\nstart address.  This unpredictability of the stack_start value makes\nit worthless.  That includes the intended use of showing how much stack\nspace a thread has.\n\nOther architectures will get different values.  As an example, ia64\ngets 0.  The do_fork() and copy_process() functions appear to treat the\nstack_start and stack_size parameters as architecture specific.\n\nI only partially reverted c44972f1 (\"procfs: disable per-task stack usage\non NOMMU\") .  If I had completely reverted it, I would have had to change\nmm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is\nconfigured.  Since I could not test the builds without significant effort,\nI decided to not change mm/Makefile.\n\nI only partially reverted 89240ba0 (\"x86, fs: Fix x86 procfs stack\ninformation for threads on 64-bit\") .  I left the KSTK_ESP() change in\nplace as that seemed worthwhile.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "f33d7e2d2d113a63772bbc993cdec3b5327f0ef1",
      "tree": "1349305b4c3a39c87baab95beb05fa5b8dfc7750",
      "parents": [
        "fc2a093e7ad23e935aa29e349bc27173c92f1a95"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue May 11 14:06:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "dma-mapping: fix dma_sync_single_range_*\n\ndma_sync_single_range_for_cpu() and dma_sync_single_range_for_device() use\na wrong address with a partial synchronization.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.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": "cc755896a4274f11283bca32d1d658203844057a",
      "tree": "218970ece71df99f686b9416b7fd88b921690ebb",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "9459d59fbf0bc82ff4c804679fa8bc22788eca63"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ar9170/main.c\n"
    },
    {
      "commit": "9fc282baa8f743a7049e301d13cf9968ee95a91c",
      "tree": "d34e827ed35c21b98eb4e3d4c3731d1da54fa03a",
      "parents": [
        "c61ea31dac0319ec64b33725917bda81fc293a25",
        "de02d72bb3cc5b3d4c873db4ca8291723dd48479"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:11:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 10:11:40 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: Fix FDDI and TR config checks in ipv4 arp and LLC.\n  IPv4: unresolved multicast route cleanup\n  mac80211: remove association work when processing deauth request\n  ar9170: wait for asynchronous firmware loading\n  ipv4: udp: fix short packet and bad checksum logging\n  phy: Fix initialization in micrel driver.\n  sctp: Fix a race between ICMP protocol unreachable and connect()\n  veth: Dont kfree_skb() after dev_forward_skb()\n  IPv6: fix IPV6_RECVERR handling of locally-generated errors\n  net/gianfar: drop recycled skbs on MTU change\n  iwlwifi: work around passive scan issue\n"
    },
    {
      "commit": "d1db275dd3f6e4182c4c4b4a1ac6287925d60569",
      "tree": "b8edf6661661ff84785495e2e053ce908417a9ff",
      "parents": [
        "6bd521433942d85e80f7a731a88cc91a327f38e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "message": "ipv6: ip6mr: support multiple tables\n\nThis patch adds support for multiple independant multicast routing instances,\nnamed \"tables\".\n\nUserspace multicast routing daemons can bind to a specific table instance by\nissuing a setsockopt call using a new option MRT6_TABLE. The table number is\nstored in the raw socket data and affects all following ip6mr setsockopt(),\ngetsockopt() and ioctl() calls. By default, a single table (RT6_TABLE_DFLT)\nis created with a default routing rule pointing to it. Newly created pim6reg\ndevices have the table number appended (\"pim6regX\"), with the exception of\ndevices created in the default table, which are named just \"pim6reg\" for\ncompatibility reasons.\n\nPackets are directed to a specific table instance using routing rules,\nsimilar to how regular routing rules work. Currently iif, oif and mark\nare supported as keys, source and destination addresses could be supported\nadditionally.\n\nExample usage:\n\n- bind pimd/xorp/... to a specific table:\n\nuint32_t table \u003d 123;\nsetsockopt(fd, SOL_IPV6, MRT6_TABLE, \u0026table, sizeof(table));\n\n- create routing rules directing packets to the new table:\n\n# ip -6 mrule add iif eth0 lookup 123\n# ip -6 mrule add oif eth0 lookup 123\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\n"
    },
    {
      "commit": "6bd521433942d85e80f7a731a88cc91a327f38e0",
      "tree": "e263e39fc6096ef77e2a1c22d5972447785b2aa5",
      "parents": [
        "f30a77842129b5656360cc1f5db48a3fcfb64528"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "message": "ipv6: ip6mr: move mroute data into seperate structure\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f30a77842129b5656360cc1f5db48a3fcfb64528",
      "tree": "3a01eac73fd0e86d3c7a976ab6bccca9878cd35c",
      "parents": [
        "b5aa30b19121de49021fba57aa1f6e4c787fcf67"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "message": "ipv6: ip6mr: convert struct mfc_cache to struct list_head\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b5aa30b19121de49021fba57aa1f6e4c787fcf67",
      "tree": "dbbf01015bda08d52750f37a797d49c7db1990a9",
      "parents": [
        "c476efbcde5ba58b81ac752f4a894d6db8e17d94"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:50 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:50 2010 +0200"
      },
      "message": "ipv6: ip6mr: remove net pointer from struct mfc6_cache\n\nNow that cache entries in unres_queue don\u0027t need to be distinguished by their\nnetwork namespace pointer anymore, we can remove it from struct mfc6_cache\nadd pass the namespace as function argument to the functions that need it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c476efbcde5ba58b81ac752f4a894d6db8e17d94",
      "tree": "69aea7351adf2ae537e4d6ec76e1cc0799a16593",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:48 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:48 2010 +0200"
      },
      "message": "ipv6: ip6mr: move unres_queue and timer to per-namespace data\n\nThe unres_queue is currently shared between all namespaces. Following patches\nwill additionally allow to create multiple multicast routing tables in each\nnamespace. Having a single shared queue for all these users seems to excessive,\nmove the queue and the cleanup timer to the per-namespace data to unshare it.\n\nAs a side-effect, this fixes a bug in the seq file iteration functions: the\nfirst entry returned is always from the current namespace, entries returned\nafter that may belong to any namespace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d250fe91ae129bff0968e685cc9c466d3a5e3482",
      "tree": "e38b7628a5c6afb80c22341759f392585e558cb1",
      "parents": [
        "1ae5dc342ac78d7a42965fd1f323815f6f5ef2c1",
        "b56f2d55c6c22b0c5774b3b22e336fb6cc5f4094"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 23:03:26 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 23:03:26 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "1e4b1057121bc756b91758a434b504d2010f6088",
      "tree": "b016cf2c728289c7e36d9e4e488f30ab0bd0ae6e",
      "parents": [
        "3b254c54ec46eb022cb26ee6ab37fae23f5f7d6a",
        "3ee943728fff536edaf8f59faa58aaa1aa7366e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tnet/bridge/br_device.c\n\tnet/bridge/br_forward.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f48fd9c8cd746fdb055a97249a209c77dca0f710",
      "tree": "a3ab4ba27edc43bf3527a02fd7c6ba4167213056",
      "parents": [
        "844c0972427ee5f661158160aaca10b22b3dda60"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Mar 20 15:20:04 2010 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:34:03 2010 +0200"
      },
      "message": "Bluetooth: Create per controller workqueue\n\nInstead of having a global workqueue for all controllers, it makes\nmore sense to have a workqueue per controller.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "dfc909befbfe967bd7f46ef33b6969c1b7f3cf42",
      "tree": "cec8545cce920fe194a2d167467a1ca500c2616d",
      "parents": [
        "6161c0382bbab883a634d284f7367a88bbe88534"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:45 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Fix race condition on l2cap_ertm_send()\n\nl2cap_ertm_send() can be called both from user context and bottom half\ncontext. The socket locks for that contexts are different, the user\ncontext uses a mutex(which can sleep) and the second one uses a\nspinlock_bh. That creates a race condition when we have interruptions on\nboth contexts at the same time.\n\nThe better way to solve this is to add a new spinlock to lock\nl2cap_ertm_send() and the vars it access. The other solution was to defer\nl2cap_ertm_send() with a workqueue, but we the sending process already\nhas one defer on the hci layer. It\u0027s not a good idea add another one.\n\nThe patch refactor the code to create l2cap_retransmit_frames(), then we\nencapulate the lock of l2cap_ertm_send() for some call. It also changes\nl2cap_retransmit_frame() to l2cap_retransmit_one_frame() to avoid\nconfusion\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1890d36bb556a27684ad29654a9898ab9a5f57ee",
      "tree": "9ff2c7d2f2e4288fa781f9f1802def01f7c530c9",
      "parents": [
        "9b53350d3cf5b330c3261d89b5e62a2dc25c5653"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Implement Local Busy Condition handling\n\nSupports Local Busy condition handling through a waitqueue that wake ups\neach 200ms and try to push the packets to the upper layer. If it can\npush all the queue then it leaves the Local Busy state.\n\nThe patch modifies the behaviour of l2cap_ertm_reassembly_sdu() to\nsupport retry of the push operation.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9a9c6a34416b3743c09c00f3d6708d9df3c21629",
      "tree": "1551a090ce012a53343d822c274f0705e44438b3",
      "parents": [
        "ff12fd643334071084b6145cad3793bb6c956638"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Make hci_send_acl() void\n\nhci_send_acl can\u0027t fail, so we can make it void. This patch changes\nthat and all the funcions that use hci_send_acl().\nThat change exposed a bug on sending connectionless data. We were not\nreporting the lenght send back to the user space.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "68d7f0ce911e41e463c45911be031cdf6a096fe8",
      "tree": "0434ce6c83b95913ce506fc92643349d5f58df53",
      "parents": [
        "369ba30264826f38eefc61b93688100be8adbd4d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:41 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Enable option to configure Max Transmission value via sockopt\n\nWith the sockopt extension we can set a per-channel MaxTx value.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "803020c6fa63aa738cfda3329c9675b42023e9d2",
      "tree": "4fbe8adc8319193624931a2710bf5e46c541852f",
      "parents": [
        "14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:41 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Change acknowledgement to use the value of txWindow\n\nNow that we can set the txWindow we need to change the acknowledgement\nprocedure to ack after each (pi-\u003etxWindow/6 + 1). The plus 1 is to avoid\nthe zero value.\nIt also renames pi-\u003enum_to_ack to a better name: pi-\u003enum_acked.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902",
      "tree": "afd8fc766f81d1c436433ca010eb12a606538b47",
      "parents": [
        "855666cccc939d392316de17512e17a08b2fa05a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:49 2010 +0200"
      },
      "message": "Bluetooth: Add sockopt configuration for txWindow on L2CAP\n\nNow we can set/get Transmission Window size via sockopt.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1c7621596d11b9c3e19eb88a818758dee4901c95",
      "tree": "7eccf73c1739964e83cbc7ea5bce53fd4372a07c",
      "parents": [
        "7b1c0049be3aabc18831ada339dbcf41ba8c81fd"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Fix configuration of the MPS value\n\nWe were accepting values bigger than we can accept. This was leading\nERTM to drop packets because of wrong FCS checks.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c1b4f43be01c2a363be021485dd18cca33cfab8a",
      "tree": "3244f14f00eb6a227e52b2a8ddd7063ef0961840",
      "parents": [
        "05fbd89dd4153341717b33d9e8ae8bd29db6c1c8"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:39 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Add timer to Acknowledge I-frames\n\nWe ack I-frames on each txWindow/5 I-frames received, but if the sender\nstop to send I-frames and it\u0027s not a txWindow multiple we can leave some\nframes unacked.\nSo I added a timer to ack I-frames on this case. The timer expires in\n200ms.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d5392c8f1e9faef089bb7cb66c3314da8bddd1fe",
      "tree": "4a935a46f0bfe2b9eb6d94f1d18fa079d2e1d095",
      "parents": [
        "e8235c6bdd1c7ffbaa7eb8dcdbb46c51f1e5d72e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:36 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Implement \u0027Send IorRRorRNR\u0027 event\n\nAfter receive a RR with P bit set ERTM shall use this funcion to choose\nwhat type of frame to reply with F bit \u003d 1.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0d861d8b8edd139a9b291cb262d08dec8dc3922d",
      "tree": "2b917b96e349baad182c49b15129c43b6a7b8ca5",
      "parents": [
        "4f7ac1814ef6f0773e57ffd159a1dd57a3c80521"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:35 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:45 2010 +0200"
      },
      "message": "Bluetooth: Make hci_send_sco() void\n\nIt also removes an unneeded check for the MTU. The check is done before\non sco_send_frame()\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3ee943728fff536edaf8f59faa58aaa1aa7366e3",
      "tree": "98ab529c1be1e4cb4b291c9d4c9fc9dba678967e",
      "parents": [
        "e0e33280fedcfa9dd70a54085c4d44d9d53b788f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Sat May 08 01:57:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 08 01:57:52 2010 -0700"
      },
      "message": "ipv4: remove ip_rt_secret timer (v4)\n\nA while back there was a discussion regarding the rt_secret_interval timer.\nGiven that we\u0027ve had the ability to do emergency route cache rebuilds for awhile\nnow, based on a statistical analysis of the various hash chain lengths in the\ncache, the use of the flush timer is somewhat redundant.  This patch removes the\nrt_secret_interval sysctl, allowing us to rely solely on the statistical\nanalysis mechanism to determine the need for route cache flushes.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e33b3e7567f8636c61e79ff1da5ff9a6cf6562c7",
      "tree": "72f361fec4a8c81d5003b93344bf3eab3eb21775",
      "parents": [
        "e2dbe06c271f3bb2a495627980aad3d1d8ccef2a",
        "8cfe92d683a0041ac8e016a0b0a487c99a78f6c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 14:02:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 14:02:01 2010 -0700"
      },
      "message": "Merge branch \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/ttm: Remove the ttm_bo_block_reservation() function.\n  drm/ttm: Remove some leftover debug messages.\n  drm/radeon: async event synchronization for drmWaitVblank\n"
    },
    {
      "commit": "417a9ef1f488e3cf92bacc4999e1cbabc0e7cf1a",
      "tree": "f9ea61b81f7de18687466d5a9d510ad9b563b79e",
      "parents": [
        "91bc482ec5a615e8ecebc106aaf7d0c267d511de",
        "a47f6be45670465d45a3d27f7ff71986bd35d6c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:56 2010 -0700"
      },
      "message": "Merge branch \u0027v4l_for_2.6.34\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_2.6.34\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:\n  V4L/DVB: pxa_camera: move fifo reset direct before dma start\n  V4L/DVB: video: testing unsigned for less than 0\n  V4L/DVB: mx1-camera: compile fix\n  V4L/DVB: budget: Oops: \"BUG: unable to handle kernel NULL pointer \tdereference\"\n  V4L/DVB: ngene: Workaround for stuck DiSEqC pin\n  V4L/DVB: saa7146: fix regression of the av7110/budget-av driver\n  V4L/DVB: v4l: fix config dependencies: mxb and saa7191 are V4L2 drivers, not V4L1\n  V4L/DVB: feature-removal: announce videotext.h removal\n  V4L/DVB: V4L - vpfe capture - fix for kernel crash\n  V4L/DVB: gspca: make usb id 0461:0815 get handled by the right driver\n  V4L/DVB: gspca - stv06xx: Remove the 046d:08da from the stv06xx driver\n  V4L/DVB: gspca - sn9c20x: Correct onstack wait_queue_head declaration\n  V4L/DVB: saa7146: fix up bytesperline if it is an impossible value\n  V4L/DVB: V4L: vpfe_capture - free ccdc_lock when memory allocation fails\n  V4L/DVB: V4L - Makfile:Removed duplicate entry of davinci\n  V4L/DVB: omap24xxcam: potential buffer overflow\n"
    },
    {
      "commit": "91bc482ec5a615e8ecebc106aaf7d0c267d511de",
      "tree": "ad75789a5825fb2da75b2dbdc02d1969bad9b338",
      "parents": [
        "e8e8fade7b351f131433fa44ca5d4e960e1c0f9c",
        "ee84b8243b07c33a5c8aed42b4b2da60cb16d1d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:21 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: create rcu_my_thread_group_empty() wrapper\n  memcg: css_id() must be called under rcu_read_lock()\n  cgroup: Check task_lock in task_subsys_state()\n  sched: Fix an RCU warning in print_task()\n  cgroup: Fix an RCU warning in alloc_css_id()\n  cgroup: Fix an RCU warning in cgroup_path()\n  KEYS: Fix an RCU warning in the reading of user keys\n  KEYS: Fix an RCU warning\n"
    },
    {
      "commit": "0aaffa9b9699894aab3266195a529baf9f96ac29",
      "tree": "26fe5f5277ac6d7061ea723f92d4038b0c28b0b8",
      "parents": [
        "f444de05d20e27cdd960c13fcbcfca3099f03143"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:28:27 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:51 2010 -0400"
      },
      "message": "mac80211: improve HT channel handling\n\nCurrently, when one interface switches HT mode,\nall others will follow along. This is clearly\nundesirable, since the new one might switch to\nno-HT while another one is operating in HT.\n\nAddress this issue by keeping track of the HT\nmode per interface, and allowing only changes\nthat are compatible, i.e. switching into HT40+\nis not possible when another interface is in\nHT40-, in that case the second one needs to\nfall back to HT20.\n\nAlso, to allow drivers to know what\u0027s going on,\nstore the per-interface HT mode (channel type)\nin the virtual interface\u0027s bss_conf.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f444de05d20e27cdd960c13fcbcfca3099f03143",
      "tree": "a7fbef60420d88dda5840e06094be21ee3eb1dc0",
      "parents": [
        "ac8dd506e40ee2c7fcc61654a44c32555a0a8d6c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:25:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:50 2010 -0400"
      },
      "message": "cfg80211/mac80211: better channel handling\n\nCurrently (all tested with hwsim) you can do stupid\nthings like setting up an AP on a certain channel,\nthen adding another virtual interface and making\nthat associate on another channel -- this will make\nthe beaconing to move channel but obviously without\nthe necessary IEs data update.\n\nIn order to improve this situation, first make the\nconfiguration APIs (cfg80211 and nl80211) aware of\nmulti-channel operation -- we\u0027ll eventually need\nthat in the future anyway. There\u0027s one userland API\nchange and one API addition. The API change is that\nnow SET_WIPHY must be called with virtual interface\nindex rather than only wiphy index in order to take\neffect for that interface -- luckily all current\nusers (hostapd) do that. For monitor interfaces, the\nold setting is preserved, but monitors are always\nslaved to other devices anyway so no guarantees.\n\nThe second userland API change is the introduction\nof a per virtual interface SET_CHANNEL command, that\nhostapd should use going forward to make it easier\nto understand what\u0027s going on (it can automatically\ndetect a kernel with this command).\n\nOther than mac80211, no existing cfg80211 drivers\nare affected by this change because they only allow\na single virtual interface.\n\nmac80211, however, now needs to be aware that the\nchannel settings are per interface now, and needs\nto disallow (for now) real multi-channel operation,\nwhich is another important part of this patch.\n\nOne of the immediate benefits is that you can now\nstart hostapd to operate on a hardware that already\nhas a connection on another virtual interface, as\nlong as you specify the same channel.\n\nNote that two things are left unhandled (this is an\nimprovement -- not a complete fix):\n\n * different HT/no-HT modes\n\n   currently you could start an HT AP and then\n   connect to a non-HT network on the same channel\n   which would configure the hardware for no HT;\n   that can be fixed fairly easily\n\n * CSA\n\n   An AP we\u0027re connected to on a virtual interface\n   might indicate switching channels, and in that\n   case we would follow it, regardless of how many\n   other interfaces are operating; this requires\n   more effort to fix but is pretty rare after all\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ac8dd506e40ee2c7fcc61654a44c32555a0a8d6c",
      "tree": "d0c673f9002d453af211a3fc25705ed3f8ab219d",
      "parents": [
        "bac6fafd4d6a0af26aeb37277a39607f7ce0be77"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 09:44:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:49 2010 -0400"
      },
      "message": "mac80211: fix BSS info reconfiguration\n\nWhen reconfiguring an interface due to a previous\nhardware restart, mac80211 will currently include\nthe new IBSS flag on non-IBSS interfaces which may\nconfuse drivers.\n\nInstead of doing the ~0 trick, simply spell out\nwhich things are going to be reconfigured.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "18e8c134f4e984e6639e62846345192816f06d5c",
      "tree": "81bb46de14f020424716bd41915e831b07ce00c6",
      "parents": [
        "d6bc0149d8f2300bffa03ea6fea3ca39744277a6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu May 06 21:58:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 21:58:51 2010 -0700"
      },
      "message": "net: Increase NET_SKB_PAD to 64 bytes\n\neth_type_trans() \u0026 get_rps_cpus() currently need two 64bytes cache\nlines in packet to compute rxhash.\n\nIncreasing NET_SKB_PAD from 32 to 64 reduces the need to one cache\nline only, and makes RPS faster.\n\nNET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8cfe92d683a0041ac8e016a0b0a487c99a78f6c1",
      "tree": "5949c336ea881c9fb51aee811432125451fef45d",
      "parents": [
        "5be6eff965aee22181d7f6210c2c463420e94e03"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Apr 28 11:33:25 2010 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri May 07 09:21:28 2010 +1000"
      },
      "message": "drm/ttm: Remove the ttm_bo_block_reservation() function.\n\nIt\u0027s unused and buggy in its current form, since it can place a bo\nin the reserved state without removing it from lru lists.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "03b1930efd3c2320b1dcba76c8af15f7e454919d",
      "tree": "436dfae66ed4444578bc7d14cc43600a4f5119e1",
      "parents": [
        "d2f2d6d0a11e892263ea511e46af449113fd2081"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Wed Mar 24 19:09:55 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu May 06 19:20:50 2010 -0300"
      },
      "message": "V4L/DVB: saa7146: fix regression of the av7110/budget-av driver\n\nAn earlier regression fix for the mxb driver (V4L/DVB: saa7146_vv: fix\nregression where v4l2_device was registered too late) caused a new\nregression in the av7110 driver.\n\nReverted the old fix and fixed the problem in the mxb driver instead.\nTested on mxb and budget-av cards.\n\nThe real problem is that the saa7146 framework has separate probe()\nand attach() driver callbacks which should be rolled into one. This\nis now done for the mxb driver, but others should do the same. Lack\nof hardware makes this hard to do, though. I hope to get hold of some\nhexium cards and then I can try to improve the framework to prevent\nthis from happening again.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "ee84b8243b07c33a5c8aed42b4b2da60cb16d1d2",
      "tree": "a5b3cad55179fe8340c6422deaf6e11120222ad1",
      "parents": [
        "ad4ba375373937817404fd92239ef4cadbded23b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 09:28:41 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 09:28:41 2010 -0700"
      },
      "message": "rcu: create rcu_my_thread_group_empty() wrapper\n\nSome RCU-lockdep splat repairs need to know whether they are running\nin a single-threaded process.  Unfortunately, the thread_group_empty()\nprimitive is defined in sched.h, and can induce #include hell.  This\ncommit therefore introduces a rcu_my_thread_group_empty() wrapper that\nis defined in rcupdate.c, thus avoiding the need to include sched.h\neverywhere.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ffb273623bc506d854902a415ef241b79232f93a",
      "tree": "5eea53b3282aa1c869bf9c4c2132e6e597cb5782",
      "parents": [
        "f6dc31a85cd46a959bdd987adad14c3b645e03c1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 01:20:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 01:31:27 2010 -0700"
      },
      "message": "netpoll: Use \u0027bool\u0027 for netpoll_rx() return type.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50b5d6ad63821cea324a5a7a19854d4de1a0a819",
      "tree": "a279d53880e3bdf144783598ad03bbaa33e2cd96",
      "parents": [
        "6ec82562ffc6f297d0de36d65776cff8e5704867"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "message": "sctp: Fix a race between ICMP protocol unreachable and connect()\n\nICMP protocol unreachable handling completely disregarded\nthe fact that the user may have locked the socket.  It proceeded\nto destroy the association, even though the user may have\nheld the lock and had a ref on the association.  This resulted\nin the following:\n\nAttempt to release alive inet socket f6afcc00\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: held lock freed! ]\n-------------------------\nsomenu/2672 is freeing memory f6afcc00-f6afcfff, with a lock still held\nthere!\n (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n1 lock held by somenu/2672:\n #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n\nstack backtrace:\nPid: 2672, comm: somenu Not tainted 2.6.32-telco #55\nCall Trace:\n [\u003cc1232266\u003e] ? printk+0xf/0x11\n [\u003cc1038553\u003e] debug_check_no_locks_freed+0xce/0xff\n [\u003cc10620b4\u003e] kmem_cache_free+0x21/0x66\n [\u003cc1185f25\u003e] __sk_free+0x9d/0xab\n [\u003cc1185f9c\u003e] sk_free+0x1c/0x1e\n [\u003cc1216e38\u003e] sctp_association_put+0x32/0x89\n [\u003cc1220865\u003e] __sctp_connect+0x36d/0x3f4\n [\u003cc122098a\u003e] ? sctp_connect+0x13/0x4c\n [\u003cc102d073\u003e] ? autoremove_wake_function+0x0/0x33\n [\u003cc12209a8\u003e] sctp_connect+0x31/0x4c\n [\u003cc11d1e80\u003e] inet_dgram_connect+0x4b/0x55\n [\u003cc11834fa\u003e] sys_connect+0x54/0x71\n [\u003cc103a3a2\u003e] ? lock_release_non_nested+0x88/0x239\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc11847ab\u003e] sys_socketcall+0x6d/0x178\n [\u003cc10da994\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc1002959\u003e] syscall_call+0x7/0xb\n\nThis was because the sctp_wait_for_connect() would aqcure the socket\nlock and then proceed to release the last reference count on the\nassociation, thus cause the fully destruction path to finish freeing\nthe socket.\n\nThe simplest solution is to start a very short timer in case the socket\nis owned by user.  When the timer expires, we can do some verification\nand be able to do the release properly.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e34e93177fb1f642cab080e0bde664c06c7183a",
      "tree": "5353f873ab99c2cff76f12b41e9a9e2018e66b30",
      "parents": [
        "08259594e047170923ef11d1482648642bfe606f"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Thu May 06 00:47:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:47:21 2010 -0700"
      },
      "message": "netpoll: add generic support for bridge and bonding devices\n\nThis whole patchset is for adding netpoll support to bridge and bonding\ndevices. I already tested it for bridge, bonding, bridge over bonding,\nand bonding over bridge. It looks fine now.\n\nTo make bridge and bonding support netpoll, we need to adjust\nsome netpoll generic code. This patch does the following things:\n\n1) introduce two new priv_flags for struct net_device:\n   IFF_IN_NETPOLL which identifies we are processing a netpoll;\n   IFF_DISABLE_NETPOLL is used to disable netpoll support for a device\n   at run-time;\n\n2) introduce one new method for netdev_ops:\n   -\u003endo_netpoll_cleanup() is used to clean up netpoll when a device is\n     removed.\n\n3) introduce netpoll_poll_dev() which takes a struct net_device * parameter;\n   export netpoll_send_skb() and netpoll_poll_dev() which will be used later;\n\n4) hide a pointer to struct netpoll in struct netpoll_info, ditto.\n\n5) introduce -\u003ereal_dev for struct netpoll.\n\n6) introduce a new status NETDEV_BONDING_DESLAE, which is used to disable\n   netconsole before releasing a slave, to avoid deadlocks.\n\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58544feb67eac49d55cc3408aea1ae42521af90d",
      "tree": "6559cbeda7bcba3f722caf736d3dd4bb5367553b",
      "parents": [
        "2873957df0ead5b53fa00fddfb52ca3df38af4a9",
        "55afbd0810922afe456f9e4e3abc84d69d3f8a15"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:26:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:26:49 2010 -0700"
      },
      "message": "Merge branch \u0027vhost\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "2861a185e3ac2ebe5958a2039b66062445bf4f7d",
      "tree": "535546ba778348477c95cb781677432a2bc831c9",
      "parents": [
        "ec7d2f2cf3a1b76202986519ec4f8ec75b2de232",
        "83163244f845c296a118ce85c653872dbff6abfe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 05 15:09:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 05 15:09:05 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "83163244f845c296a118ce85c653872dbff6abfe",
      "tree": "ce2eac695a1c198f23d537e20ed86c16ece21f7e",
      "parents": [
        "0a12761bcd5646691c5d16dd93df84d1b8849285",
        "adfba3c7c026a6a5560d2a43fefc9b198cb74462"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/libertas_tf/cmd.c\n\tdrivers/net/wireless/libertas_tf/main.c\n"
    },
    {
      "commit": "7437e7d3672b6d23c08212c68752c9a9c25f8e9e",
      "tree": "809507a1d8c1cadce9a7cab87970da95aa772d2d",
      "parents": [
        "38c9e91bc396672e9ea8013bad63ea4f59d9d31c",
        "7cff0943a1104479fc9fc2d6ced24c02ba81e73e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 05 07:55:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 05 07:55:07 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  FEC: Fix kernel panic in fec_set_mac_address.\n  ipv6: Fix default multicast hops setting.\n  net: ep93xx_eth stops receiving packets\n  drivers/net/phy: micrel phy driver\n  dm9601: fix phy/eeprom write routine\n  ppp_generic: handle non-linear skbs when passing them to pppd\n  ppp_generic: pull 2 bytes so that PPP_PROTO(skb) is valid\n  net: fix compile error due to double return type in SOCK_DEBUG\n  net/usb: initiate sync sequence in sierra_net.c driver\n  net/usb: remove default in Kconfig for sierra_net driver\n  r8169: Fix rtl8169_rx_interrupt()\n  e1000e: Fix oops caused by ASPM patch.\n  net/sb1250: register mdio bus in probe\n  sctp: Fix skb_over_panic resulting from multiple invalid parameter errors (CVE-2010-1173) (v4)\n  p54pci: fix bugs in p54p_check_tx_ring\n"
    },
    {
      "commit": "ec7d2f2cf3a1b76202986519ec4f8ec75b2de232",
      "tree": "177c324eb0cf7e687d1bbd10a6add3a7d5979002",
      "parents": [
        "8753d29fd5daf890004a38c80835e1eb3acda394"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 05 01:07:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 05 01:07:37 2010 -0700"
      },
      "message": "net: __alloc_skb() speedup\n\nWith following patch I can reach maximum rate of my pktgen+udpsink\nsimulator :\n- \u0027old\u0027 machine : dual quad core E5450  @3.00GHz\n- 64 UDP rx flows (only differ by destination port)\n- RPS enabled, NIC interrupts serviced on cpu0\n- rps dispatched on 7 other cores. (~130.000 IPI per second)\n- SLAB allocator (faster than SLUB in this workload)\n- tg3 NIC\n- 1.080.000 pps without a single drop at NIC level.\n\nIdea is to add two prefetchw() calls in __alloc_skb(), one to prefetch\nfirst sk_buff cache line, the second to prefetch the shinfo part.\n\nAlso using one memset() to initialize all skb_shared_info fields instead\nof one by one to reduce number of instructions, using long word moves.\n\nAll skb_shared_info fields before \u0027dataref\u0027 are cleared in \n__alloc_skb().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce7e4ff24fe338438bc7837e02780f202bf202b",
      "tree": "3906643ba96ba8b3fda2291e5e40e48bbba9085f",
      "parents": [
        "b629317e66fb1c6066c550dded45ab85a936163c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 23 10:35:52 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 04 09:25:02 2010 -0700"
      },
      "message": "cgroup: Check task_lock in task_subsys_state()\n\nExpand task_subsys_state()\u0027s rcu_dereference_check() to include the full\nlocking rule as documented in Documentation/cgroups/cgroups.txt by adding\na check for task-\u003ealloc_lock being held.\n\nThis fixes an RCU false positive when resuming from suspend. The warning\ncomes from freezer cgroup in cgroup_freezing_or_frozen().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6629dcff19470a894ce294d0adb9cbab94ee1fb9",
      "tree": "18f75a3f5ca83de96a0fe353fafa02bab174cd36",
      "parents": [
        "b1d4b390ea4bb480e65974ce522a04022608a8df"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue May 04 11:09:28 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue May 04 11:09:28 2010 +0200"
      },
      "message": "i2c-core: Use per-adapter userspace device lists\n\nUsing a single list for all userspace devices leads to a dead lock\non multiplexed buses in some circumstances (mux chip instantiated\nfrom userspace). This is solved by using a separate list for each\nbus segment.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Michael Lawnick \u003cml.lawnick@gmx.de\u003e\n"
    },
    {
      "commit": "f5460618405eec8c3300947a499011528a115acd",
      "tree": "19aba5acb6d91d5a20400292aaf1881a6b26c118",
      "parents": [
        "4f70ecca9c57731b4acbe5043eb22e4416bd2368",
        "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:20:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:24:31 2010 -0700"
      },
      "message": "Merge branch \u0027net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev\n\nAdd missing linux/vmalloc.h include to net/sctp/probe.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f70ecca9c57731b4acbe5043eb22e4416bd2368",
      "tree": "3b725168959ffd2b65152e27dbe3479f6e110dd3",
      "parents": [
        "52a60ed2da716105de5f906a3630c475264b87d5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 03 10:50:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 15:53:54 2010 -0700"
      },
      "message": "net: rcu fixes\n\nAdd hlist_for_each_entry_rcu_bh() and\nhlist_for_each_entry_continue_rcu_bh() macros, and use them in\nipv6_get_ifaddr(), if6_get_first() and if6_get_next() to fix lockdeps\nwarnings.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d52b5178af586d679c1052fb161ee05ea2e83f",
      "tree": "6148fda40e5aa28f3e8ceb438ffc51c5bb08dd86",
      "parents": [
        "7ef527377b88ff05fb122a47619ea506c631c914"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Mar 17 17:45:01 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon May 03 12:33:13 2010 +0300"
      },
      "message": "tun: add ioctl to modify vnet header size\n\nvirtio added mergeable buffers mode where 2 bytes of extra info is put\nafter vnet header but before actual data (tun does not need this data).\nIn hindsight, it would have been better to add the new info *before* the\npacket: as it is, users need a lot of tricky code to skip the extra 2\nbytes in the middle of the iovec, and in fact applications seem to get\nit wrong, and only work with specific iovec layout.  The fact we might\nneed to split iovec also means we might in theory overflow iovec max\nsize.\n\nThis patch adds a simpler way for applications to handle this,\nand future proofs the interface against further extensions,\nby making the size of the virtio net header configurable\nfrom userspace. As a result, tun driver will simply\nskip the extra 2 bytes on both input and output.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd7b5396e7e4d10c51116f59f414ff90312af8d4",
      "tree": "a89bf09771539582226dece2740734108f5a848a",
      "parents": [
        "dee42870a423ad485129f43cddfe7275479f11d8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:27:59 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:27:59 2010 -0700"
      },
      "message": "net: Use explicit \"unsigned int\" instead of plain \"unsigned\" in netdevice.h\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dee42870a423ad485129f43cddfe7275479f11d8",
      "tree": "e30433d3b55ee248eb672765fe6705be160d882c",
      "parents": [
        "7ef527377b88ff05fb122a47619ea506c631c914"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun May 02 05:42:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:26:57 2010 -0700"
      },
      "message": "net: fix softnet_stat\n\nPer cpu variable softnet_data.total was shared between IRQ and SoftIRQ context\nwithout any protection. And enqueue_to_backlog should update the netdev_rx_stat\nof the target CPU.\n\nThis patch renames softnet_data.total to softnet_data.processed: the number of\npackets processed in uppper levels(IP stacks).\n\nsoftnet_stat data is moved into softnet_data.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/linux/netdevice.h |   17 +++++++----------\n net/core/dev.c            |   26 ++++++++++++--------------\n net/sched/sch_generic.c   |    2 +-\n 3 files changed, 20 insertions(+), 25 deletions(-)\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ef527377b88ff05fb122a47619ea506c631c914",
      "tree": "2c2e774527d5f591b975834f43e8c6fd12fb38f2",
      "parents": [
        "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
        "1183f3838c588545592c042c0ce15015661ce7f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 21:43:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:02:06 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "1183f3838c588545592c042c0ce15015661ce7f2",
      "tree": "24de17b69f9b2d83720a550af130d1dbddf067e8",
      "parents": [
        "6f1464bf65fcaa57a4b32dae93de4e8bbdfaf7c5"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun May 02 13:42:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 13:42:39 2010 -0700"
      },
      "message": "net: fix compile error due to double return type in SOCK_DEBUG\n\nFix this one:\ninclude/net/sock.h: error: two or more data types in declaration specifiers\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
      "tree": "b38f05d82883b5c0fc885812172a546af966d419",
      "parents": [
        "43815482370c510c569fd18edb57afcb0fa8cab6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 02:21:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 02:21:44 2010 -0700"
      },
      "message": "net: Inline skb_pull() in eth_type_trans().\n\nIn commit 6be8ac2f (\"[NET]: uninline skb_pull, de-bloats a lot\")\nwe uninlined skb_pull.\n\nBut in some critical paths it makes sense to inline this thing\nand it helps performance significantly.\n\nCreate an skb_pull_inline() so that we can do this in a way that\nserves also as annotation.\n\nBased upon a patch by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43815482370c510c569fd18edb57afcb0fa8cab6",
      "tree": "063efaae3758402b84f056438b704d1de68f7837",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 29 11:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 01 15:00:15 2010 -0700"
      },
      "message": "net: sock_def_readable() and friends RCU conversion\n\nsk_callback_lock rwlock actually protects sk-\u003esk_sleep pointer, so we\nneed two atomic operations (and associated dirtying) per incoming\npacket.\n\nRCU conversion is pretty much needed :\n\n1) Add a new structure, called \"struct socket_wq\" to hold all fields\nthat will need rcu_read_lock() protection (currently: a\nwait_queue_head_t and a struct fasync_struct pointer).\n\n[Future patch will add a list anchor for wakeup coalescing]\n\n2) Attach one of such structure to each \"struct socket\" created in\nsock_alloc_inode().\n\n3) Respect RCU grace period when freeing a \"struct socket_wq\"\n\n4) Change sk_sleep pointer in \"struct sock\" by sk_wq, pointer to \"struct\nsocket_wq\"\n\n5) Change sk_sleep() function to use new sk-\u003esk_wq instead of\nsk-\u003esk_sleep\n\n6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside\na rcu_read_lock() section.\n\n7) Change all sk_has_sleeper() callers to :\n  - Use rcu_read_lock() instead of read_lock(\u0026sk-\u003esk_callback_lock)\n  - Use wq_has_sleeper() to eventually wakeup tasks.\n  - Use rcu_read_unlock() instead of read_unlock(\u0026sk-\u003esk_callback_lock)\n\n8) sock_wake_async() is modified to use rcu protection as well.\n\n9) Exceptions :\n  macvtap, drivers/net/tun.c, af_unix use integrated \"struct socket_wq\"\ninstead of dynamically allocated ones. They dont need rcu freeing.\n\nSome cleanups or followups are probably needed, (possible\nsk_callback_lock conversion to a spinlock for example...).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726",
      "tree": "62e19d24380a9a8308d0ef3f2186742944971a5c",
      "parents": [
        "bfa0d9843ac5feb9667990706b4524390fee4df9"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: Tag messages that can be Nagle delayed at creation.\n\nWhen we create the sctp_datamsg and fragment the user data,\nwe know exactly if we are sending full segments or not and\nhow they might be bundled.  During this time, we can mark\nmessages a Nagle capable or not.  This makes the check at\ntransmit time much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cf9b4812e18aab6f86ff998bd7425a9e823269c3",
      "tree": "51181bd38679112d3abc32ba6dc4266acad9251c",
      "parents": [
        "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: fast recovery algorithm is per association.\n\nSCTP fast recovery algorithm really applies per association\nand impacts all transports.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731",
      "tree": "2692be4d6237c1a9ebee27bd52bad7c418fa06f9",
      "parents": [
        "c0058a35aacc79406e867ec33c5cb75624fd5860"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: update transport initializations\n\nRight now, sctp transports are not fully initialized and when\nadding any new fields, they have to be explicitely initialized.\nThis is prone to mistakes.  So we switch to calling kzalloc()\nwhich makes things much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "c0058a35aacc79406e867ec33c5cb75624fd5860",
      "tree": "f474e3bc3aac2162897d592ed91c5116616111a6",
      "parents": [
        "d9efc2231b28bc199f9de4dd594248b7341188e5"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: Save some room in the sctp_transport by using bitfields\n\nSaves some room in the sctp_transport structure.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "ae19c54866450f6c6f79223ca7d37965859a54e1",
      "tree": "4da39a450974841532148b15b15de182c8e40dac",
      "parents": [
        "d598b166ced20d9b9281ea3527c0e18405ddb803"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: remove \u0027resent\u0027 bit from the chunk\n\nThe \u0027resent\u0027 bit is used to make sure that we don\u0027t update\nrto estimate based on retransmitted chunks.  However, we already\nhave the \u0027rto_pending\u0027 bit that we test when need to update rto,\nso \u0027resent\u0027 bit is just extra.  Additionally, we currently have\na bug in that we always set a \u0027resent\u0027 bit and thus rto estimate\nis only updated by Heartbeats.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "52688d6ec977e69b164e0bd3de51d43cf6d4b7b3",
      "tree": "b4e0d9de8fdbf8b29a95d85b81fdc8ba7201fff8",
      "parents": [
        "bd69b981a354be40cc709f3046f0c56f00da6163"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Apr 30 21:42:44 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:44 2010 -0400"
      },
      "message": "sctp: discard ABORT chunk with zero verification tag in COOKIE-WAIT state\n\nIn current implementation if ABORT chunk is received with T flag is set\nand zero verification tag in COOKIE-WAIT state, the ABORT chunk will be\nalways accepted. This is because in COOKIE-WAIT state, the endpoint does\nnot know the peer\u0027s verification tag, and it\u0027s zero in the endpoint.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "767dd03369ac18af58efdef0383d6eb986eab426",
      "tree": "5af8a861110676a084078a168c27fd3935d41f13",
      "parents": [
        "21851264120b0bd1f953328cb131abcfa9305bc3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 19:14:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 30 16:29:42 2010 -0700"
      },
      "message": "net: speedup sock_recv_ts_and_drops()\n\nsock_recv_ts_and_drops() is fat and slow (~ 4% of cpu time on some\nprofiles)\n\nWe can test all socket flags at once to make fast path fast again.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5c044e53a6b319776c7140b22fee9be3bc1f758",
      "tree": "01b7c012361d81fd0152c56971ea19500525af57",
      "parents": [
        "49b5c7f473f1bbcb30275dcaee2c06dfb8ec2279"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 30 15:37:00 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 30 15:38:13 2010 -0400"
      },
      "message": "mac80211: remove deprecated noise field from ieee80211_rx_status\n\nAlso remove associated IEEE80211_HW_NOISE_DBM from ieee80211_hw_flags.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "073900a28d95c75a706bf40ebf092ea048c7b236",
      "tree": "01e8bb7856ebf1e989a1eb693704435fc4032118",
      "parents": [
        "75181f386f9a80ed6f87763ac6cf05826e253ccd"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Apr 12 13:17:25 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 30 09:25:12 2010 -0700"
      },
      "message": "USB: rename usb_buffer_alloc() and usb_buffer_free()\n\nFor more clearance what the functions actually do,\n\n  usb_buffer_alloc() is renamed to usb_alloc_coherent()\n  usb_buffer_free()  is renamed to usb_free_coherent()\n\nThey should only be used in code which really needs DMA coherency.\n\n[added compatibility macros so we can convert things easier - gregkh]\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Pedro Ribeiro \u003cpedrib@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "27fb8d7b1fe7c2fa2d7c1f243b899793e1b080e0",
      "tree": "25a8ca59a3743459bbd48674731becea89a16318",
      "parents": [
        "f80a0ca6ad8f2800453e819dafa09a0ed9e56850",
        "9699eda6bc1f708a28acb716e1477aa351362fe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4\n  nfs: fix some issues in nfs41_proc_reclaim_complete()\n  NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear\n  NFS: Fix an unstable write data integrity race\n  nfs: testing for null instead of ERR_PTR()\n  NFS: rsize and wsize settings ignored on v4 mounts\n  NFSv4: Don\u0027t attempt an atomic open if the file is a mountpoint\n  SUNRPC: Fix a bug in rpcauth_prune_expired\n"
    },
    {
      "commit": "f84af32cbca70a3c6d30463dc08c7984af11c277",
      "tree": "06ede4b3ed91be899f8f29b4c7eb1fb76f1ade97",
      "parents": [
        "4b0b72f7dd617b13abd1b04c947e15873e011a24"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "message": "net: ip_queue_rcv_skb() helper\n\nWhen queueing a skb to socket, we can immediately release its dst if\ntarget socket do not use IP_CMSG_PKTINFO.\n\ntcp_data_queue() can drop dst too.\n\nThis to benefit from a hot cache line and avoid the receiver, possibly\non another cpu, to dirty this cache line himself.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b0b72f7dd617b13abd1b04c947e15873e011a24",
      "tree": "16fc7bc990fa47cccb62bdb34cb23bd3c26b7a50",
      "parents": [
        "cfc1fbb079b265bf69d4ceba590a2e2c1a1cde33"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 14:35:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 14:35:48 2010 -0700"
      },
      "message": "net: speedup udp receive path\n\nSince commit 95766fff ([UDP]: Add memory accounting.), \neach received packet needs one extra sock_lock()/sock_release() pair.\n\nThis added latency because of possible backlog handling. Then later,\nticket spinlocks added yet another latency source in case of DDOS.\n\nThis patch introduces lock_sock_bh() and unlock_sock_bh()\nsynchronization primitives, avoiding one atomic operation and backlog\nprocessing.\n\nskb_free_datagram_locked() uses them instead of full blown\nlock_sock()/release_sock(). skb is orphaned inside locked section for\nproper socket memory reclaim, and finally freed outside of it.\n\nUDP receive path now take the socket spinlock only once.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809",
      "tree": "38442b86f3c1b57dd9c660d7c551334e110f6d43",
      "parents": [
        "e41c11ee0cc602bcde68916be85fb97d1a484324"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Apr 28 10:30:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 14:22:01 2010 -0700"
      },
      "message": "sctp: Fix skb_over_panic resulting from multiple invalid parameter errors (CVE-2010-1173) (v4)\n\nOk, version 4\n\nChange Notes:\n1) Minor cleanups, from Vlads notes\n\nSummary:\n\nHey-\n\tRecently, it was reported to me that the kernel could oops in the\nfollowing way:\n\n\u003c5\u003e kernel BUG at net/core/skbuff.c:91!\n\u003c5\u003e invalid operand: 0000 [#1]\n\u003c5\u003e Modules linked in: sctp netconsole nls_utf8 autofs4 sunrpc iptable_filter\nip_tables cpufreq_powersave parport_pc lp parport vmblock(U) vsock(U) vmci(U)\nvmxnet(U) vmmemctl(U) vmhgfs(U) acpiphp dm_mirror dm_mod button battery ac md5\nipv6 uhci_hcd ehci_hcd snd_ens1371 snd_rawmidi snd_seq_device snd_pcm_oss\nsnd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_ac97_codec snd soundcore\npcnet32 mii floppy ext3 jbd ata_piix libata mptscsih mptsas mptspi mptscsi\nmptbase sd_mod scsi_mod\n\u003c5\u003e CPU:    0\n\u003c5\u003e EIP:    0060:[\u003cc02bff27\u003e]    Not tainted VLI\n\u003c5\u003e EFLAGS: 00010216   (2.6.9-89.0.25.EL)\n\u003c5\u003e EIP is at skb_over_panic+0x1f/0x2d\n\u003c5\u003e eax: 0000002c   ebx: c033f461   ecx: c0357d96   edx: c040fd44\n\u003c5\u003e esi: c033f461   edi: df653280   ebp: 00000000   esp: c040fd40\n\u003c5\u003e ds: 007b   es: 007b   ss: 0068\n\u003c5\u003e Process swapper (pid: 0, threadinfo\u003dc040f000 task\u003dc0370be0)\n\u003c5\u003e Stack: c0357d96 e0c29478 00000084 00000004 c033f461 df653280 d7883180\ne0c2947d\n\u003c5\u003e        00000000 00000080 df653490 00000004 de4f1ac0 de4f1ac0 00000004\ndf653490\n\u003c5\u003e        00000001 e0c2877a 08000800 de4f1ac0 df653490 00000000 e0c29d2e\n00000004\n\u003c5\u003e Call Trace:\n\u003c5\u003e  [\u003ce0c29478\u003e] sctp_addto_chunk+0xb0/0x128 [sctp]\n\u003c5\u003e  [\u003ce0c2947d\u003e] sctp_addto_chunk+0xb5/0x128 [sctp]\n\u003c5\u003e  [\u003ce0c2877a\u003e] sctp_init_cause+0x3f/0x47 [sctp]\n\u003c5\u003e  [\u003ce0c29d2e\u003e] sctp_process_unk_param+0xac/0xb8 [sctp]\n\u003c5\u003e  [\u003ce0c29e90\u003e] sctp_verify_init+0xcc/0x134 [sctp]\n\u003c5\u003e  [\u003ce0c20322\u003e] sctp_sf_do_5_1B_init+0x83/0x28e [sctp]\n\u003c5\u003e  [\u003ce0c25333\u003e] sctp_do_sm+0x41/0x77 [sctp]\n\u003c5\u003e  [\u003cc01555a4\u003e] cache_grow+0x140/0x233\n\u003c5\u003e  [\u003ce0c26ba1\u003e] sctp_endpoint_bh_rcv+0xc5/0x108 [sctp]\n\u003c5\u003e  [\u003ce0c2b863\u003e] sctp_inq_push+0xe/0x10 [sctp]\n\u003c5\u003e  [\u003ce0c34600\u003e] sctp_rcv+0x454/0x509 [sctp]\n\u003c5\u003e  [\u003ce084e017\u003e] ipt_hook+0x17/0x1c [iptable_filter]\n\u003c5\u003e  [\u003cc02d005e\u003e] nf_iterate+0x40/0x81\n\u003c5\u003e  [\u003cc02e0bb9\u003e] ip_local_deliver_finish+0x0/0x151\n\u003c5\u003e  [\u003cc02e0c7f\u003e] ip_local_deliver_finish+0xc6/0x151\n\u003c5\u003e  [\u003cc02d0362\u003e] nf_hook_slow+0x83/0xb5\n\u003c5\u003e  [\u003cc02e0bb2\u003e] ip_local_deliver+0x1a2/0x1a9\n\u003c5\u003e  [\u003cc02e0bb9\u003e] ip_local_deliver_finish+0x0/0x151\n\u003c5\u003e  [\u003cc02e103e\u003e] ip_rcv+0x334/0x3b4\n\u003c5\u003e  [\u003cc02c66fd\u003e] netif_receive_skb+0x320/0x35b\n\u003c5\u003e  [\u003ce0a0928b\u003e] init_stall_timer+0x67/0x6a [uhci_hcd]\n\u003c5\u003e  [\u003cc02c67a4\u003e] process_backlog+0x6c/0xd9\n\u003c5\u003e  [\u003cc02c690f\u003e] net_rx_action+0xfe/0x1f8\n\u003c5\u003e  [\u003cc012a7b1\u003e] __do_softirq+0x35/0x79\n\u003c5\u003e  [\u003cc0107efb\u003e] handle_IRQ_event+0x0/0x4f\n\u003c5\u003e  [\u003cc01094de\u003e] do_softirq+0x46/0x4d\n\nIts an skb_over_panic BUG halt that results from processing an init chunk in\nwhich too many of its variable length parameters are in some way malformed.\n\nThe problem is in sctp_process_unk_param:\nif (NULL \u003d\u003d *errp)\n\t*errp \u003d sctp_make_op_error_space(asoc, chunk,\n\t\t\t\t\t ntohs(chunk-\u003echunk_hdr-\u003elength));\n\n\tif (*errp) {\n\t\tsctp_init_cause(*errp, SCTP_ERROR_UNKNOWN_PARAM,\n\t\t\t\t WORD_ROUND(ntohs(param.p-\u003elength)));\n\t\tsctp_addto_chunk(*errp,\n\t\t\tWORD_ROUND(ntohs(param.p-\u003elength)),\n\t\t\t\t  param.v);\n\nWhen we allocate an error chunk, we assume that the worst case scenario requires\nthat we have chunk_hdr-\u003elength data allocated, which would be correct nominally,\ngiven that we call sctp_addto_chunk for the violating parameter.  Unfortunately,\nwe also, in sctp_init_cause insert a sctp_errhdr_t structure into the error\nchunk, so the worst case situation in which all parameters are in violation\nrequires chunk_hdr-\u003elength+(sizeof(sctp_errhdr_t)*param_count) bytes of data.\n\nThe result of this error is that a deliberately malformed packet sent to a\nlistening host can cause a remote DOS, described in CVE-2010-1173:\nhttp://cve.mitre.org/cgi-bin/cvename.cgi?name\u003d2010-1173\n\nI\u0027ve tested the below fix and confirmed that it fixes the issue.  We move to a\nstrategy whereby we allocate a fixed size error chunk and ignore errors we don\u0027t\nhave space to report.  Tested by me successfully\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fc214ba958648ab111a173f2db7b0e1dfed5b11",
      "tree": "7ca4b8137b8bcbf07f7cf87526c5179e900dee70",
      "parents": [
        "76f273640134f3eb8257179cd5b3bc6ba5fe4a96"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 28 17:40:43 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 28 16:50:29 2010 -0400"
      },
      "message": "mac80211: notify driver about IBSS status\n\nSome drivers (e.g. iwlwifi) need to know and try\nto figure it out based on other things, but making\nit explicit is definitely better.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "032b734d291e3532221b6cf7643a5f41c6261941",
      "tree": "bbfa57472cdf90a84730ade5d2358205d35b2a34",
      "parents": [
        "3fb938b2a8bdbcf6086192d90fb7c73425e41fb9",
        "e41c11ee0cc602bcde68916be85fb97d1a484324"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 13:37:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 13:37:06 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)\n  sfc: Change falcon_probe_board() to fail for unsupported boards\n  sfc: Always close net device at the end of a disabling reset\n  sfc: Wait at most 10ms for the MC to finish reading out MAC statistics\n  sctp: Fix oops when sending queued ASCONF chunks\n  sctp: fix to calc the INIT/INIT-ACK chunk length correctly is set\n  sctp: per_cpu variables should be in bh_disabled section\n  sctp: fix potential reference of a freed pointer\n  sctp: avoid irq lock inversion while call sk-\u003esk_data_ready()\n  Revert \"tcp: bind() fix when many ports are bound\"\n  net/usb: add sierra_net.c driver\n  cdc_ether: fix autosuspend for mbm devices\n  bluetooth: handle l2cap_create_connless_pdu() errors\n  gianfar: Wait for both RX and TX to stop\n  ipheth: potential null dereferences on error path\n  smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt()\n  drivers/usb/net/kaweth.c: add device \"Allied Telesyn AT-USB10 USB Ethernet Adapter\"\n  bnx2: Update version to 2.0.9.\n  bnx2: Prevent \"scheduling while atomic\" warning with cnic, bonding and vlan.\n  bnx2: Fix lost MSI-X problem on 5709 NICs.\n  cxgb3: Wait longer for control packets on initialization\n  ...\n"
    },
    {
      "commit": "bece7b2398d073d11b2e352405a3ecd3a1e39c60",
      "tree": "645d3207b985dc7b1b139cfd857ed6de273655ef",
      "parents": [
        "8d545c8f958f5f433c50a00762ce1f231ed56eee"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:14 2010 -0700"
      },
      "message": "caif: Rewritten socket implementation\n\nChanges:\n This is a complete re-write of the socket layer. Making the socket\n implementation more aligned with the other socket layers and using more\n of the support functions available in sock.c. Lots of code is copied\n from af_unix (and some from af_irda).\n Non-blocking mode should be working as well.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d545c8f958f5f433c50a00762ce1f231ed56eee",
      "tree": "f5688212d86c0bc6bf0ba8b02f57fca77de3145e",
      "parents": [
        "5b2086567503f9b55136642031ec0067319f58e0"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:13 2010 -0700"
      },
      "message": "caif: Disconnect without waiting for response\n\nChanges:\no Function cfcnfg_disconn_adapt_layer is changed to do asynchronous\n  disconnect, not waiting for any response from the modem. Due to this\n  the function cfcnfg_linkdestroy_rsp does nothing anymore.\no Because disconnect may take down a connection before a connect response\n  is received the function cfcnfg_linkup_rsp is checking if the client is\n  still waiting for the response, if not a disconnect request is sent to\n  the modem.\no cfctrl is no longer keeping track of pending disconnect requests.\no Added function cfctrl_cancel_req, which is used for deleting a pending\n  connect request if disconnect is done before connect response is received.\no Removed unused function cfctrl_insert_req2\no Added better handling of connect reject from modem.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b2086567503f9b55136642031ec0067319f58e0",
      "tree": "00c4264ed7a8a989b398166c2c5f98175f5c28a5",
      "parents": [
        "e539d83cc8a4fa581cbf8ed288fdadb19a692cb0"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:12 2010 -0700"
      },
      "message": "caif: Add reference counting to service layer\n\nChanges:\no Added functions cfsrvl_get and cfsrvl_put.\no Added support release_client to use by socket and net device.\no Increase reference counting for in-flight packets from cfmuxl\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e539d83cc8a4fa581cbf8ed288fdadb19a692cb0",
      "tree": "490f94cd943a62b54ead3905b8075c19ce639612",
      "parents": [
        "d3f744e0d6c1c27a10cdceac6eb946122188dbc9"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:11 2010 -0700"
      },
      "message": "caif: Rename functions in cfcnfg and caif_dev\n\nChanges:\n o Renamed cfcnfg_del_adapt_layer to cfcnfg_disconn_adapt_layer\n o Fixed typo cfcfg to cfcnfg\n o Renamed linkid to channel_id\n o Updated documentation in caif_dev.h\n o Minor formatting changes\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0786693404cffd80ca3cb6e75ee7b35186b2825",
      "tree": "92a9026abbe71399c95330656af0f8c9d9c0019c",
      "parents": [
        "a8170c35e738d62e9919ce5b109cf4ed66e95bde"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Apr 28 08:47:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:34 2010 -0700"
      },
      "message": "sctp: Fix oops when sending queued ASCONF chunks\n\nWhen we finish processing ASCONF_ACK chunk, we try to send\nthe next queued ASCONF.  This action runs the sctp state\nmachine recursively and it\u0027s not prepared to do so.\n\nkernel BUG at kernel/timer.c:790!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/module/ipv6/initstate\nModules linked in: sha256_generic sctp libcrc32c ipv6 dm_multipath\nuinput 8139too i2c_piix4 8139cp mii i2c_core pcspkr virtio_net joydev\nfloppy virtio_blk virtio_pci [last unloaded: scsi_wait_scan]\n\nPid: 0, comm: swapper Not tainted 2.6.34-rc4 #15 /Bochs\nEIP: 0060:[\u003cc044a2ef\u003e] EFLAGS: 00010286 CPU: 0\nEIP is at add_timer+0xd/0x1b\nEAX: cecbab14 EBX: 000000f0 ECX: c0957b1c EDX: 03595cf4\nESI: cecba800 EDI: cf276f00 EBP: c0957aa0 ESP: c0957aa0\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess swapper (pid: 0, ti\u003dc0956000 task\u003dc0988ba0 task.ti\u003dc0956000)\nStack:\n c0957ae0 d1851214 c0ab62e4 c0ab5f26 0500ffff 00000004 00000005 00000004\n\u003c0\u003e 00000000 d18694fd 00000004 1666b892 cecba800 cecba800 c0957b14\n00000004\n\u003c0\u003e c0957b94 d1851b11 ceda8b00 cecba800 cf276f00 00000001 c0957b14\n000000d0\nCall Trace:\n [\u003cd1851214\u003e] ? sctp_side_effects+0x607/0xdfc [sctp]\n [\u003cd1851b11\u003e] ? sctp_do_sm+0x108/0x159 [sctp]\n [\u003cd1863386\u003e] ? sctp_pname+0x0/0x1d [sctp]\n [\u003cd1861a56\u003e] ? sctp_primitive_ASCONF+0x36/0x3b [sctp]\n [\u003cd185657c\u003e] ? sctp_process_asconf_ack+0x2a4/0x2d3 [sctp]\n [\u003cd184e35c\u003e] ? sctp_sf_do_asconf_ack+0x1dd/0x2b4 [sctp]\n [\u003cd1851ac1\u003e] ? sctp_do_sm+0xb8/0x159 [sctp]\n [\u003cd1863334\u003e] ? sctp_cname+0x0/0x52 [sctp]\n [\u003cd1854377\u003e] ? sctp_assoc_bh_rcv+0xac/0xe1 [sctp]\n [\u003cd1858f0f\u003e] ? sctp_inq_push+0x2d/0x30 [sctp]\n [\u003cd186329d\u003e] ? sctp_rcv+0x797/0x82e [sctp]\n\nTested-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Yuansong Qiao \u003cysqiao@research.ait.ie\u003e\nSigned-off-by: Shuaijun Zhang \u003cszhang@research.ait.ie\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "561b1733a465cf9677356b40c27653dd45f1ac56",
      "tree": "86d6720a6497a0b3faa9685596d4f85d3858b6fe",
      "parents": [
        "8d238b25b1ec22a73b1c2206f111df2faaff8285"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Apr 28 08:47:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:31 2010 -0700"
      },
      "message": "sctp: avoid irq lock inversion while call sk-\u003esk_data_ready()\n\nsk-\u003esk_data_ready() of sctp socket can be called from both BH and non-BH\ncontexts, but the default sk-\u003esk_data_ready(), sock_def_readable(), can\nnot be used in this case. Therefore, we have to make a new function\nsctp_data_ready() to grab sk-\u003esk_data_ready() with BH disabling.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible irq lock inversion dependency detected ]\n2.6.33-rc6 #129\n---------------------------------------------------------\nsctp_darn/1517 just changed the state of lock:\n (clock-AF_INET){++.?..}, at: [\u003cc06aab60\u003e] sock_def_readable+0x20/0x80\nbut this lock took another, SOFTIRQ-unsafe lock in the past:\n (slock-AF_INET){+.-...}\n\nand interrupts could create inverse lock ordering between them.\n\nother info that might help us debug this:\n1 lock held by sctp_darn/1517:\n #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003ccdfe363d\u003e] sctp_sendmsg+0x23d/0xc00 [sctp]\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fb938b2a8bdbcf6086192d90fb7c73425e41fb9",
      "tree": "3b273692ee6a34c603f83a645b29573c404ffc97",
      "parents": [
        "970b06485ffee36aa3549dfe4c6b2a2c2118354d",
        "83bf6f11e82eba8533f8dbd241b2c2825e42ae5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:58:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:58:36 2010 -0700"
      },
      "message": "Merge branch \u0027urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6\n\n* \u0027urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:\n  pcmcia: fix matching rules for pseudo-multi-function cards\n  pcmcia: pcmcia_dev_present bugfix\n"
    },
    {
      "commit": "970b06485ffee36aa3549dfe4c6b2a2c2118354d",
      "tree": "1b0f6f4182e73d19071addf8a209e5fb58483d08",
      "parents": [
        "696e65c3606aa3f587eeb181766baf49ea750cfc",
        "33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  coda: move backing-dev.h kernel include inside __KERNEL__\n  mtd: ensure that bdi entries are properly initialized and registered\n  Move mtd_bdi_*mappable to mtdcore.c\n  btrfs: convert to using bdi_setup_and_register()\n  Catch filesystems lacking s_bdi\n  drbd: Terminate a connection early if sending the protocol fails\n  drbd: fix memory leak\n  Fix JFFS2 sync silent failure\n  smbfs: add bdi backing to mount session\n  ncpfs: add bdi backing to mount session\n  exofs: add bdi backing to mount session\n  ecryptfs: add bdi backing to mount session\n  coda: add bdi backing to mount session\n  cifs: add bdi backing to mount session\n  afs: add bdi backing to mount session.\n  9p: add bdi backing to mount session\n  bdi: add helper function for doing init and register of a bdi for a file system\n  block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer\n"
    },
    {
      "commit": "33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5",
      "tree": "9fc41444f93cd0e4c78fabd081b2d113fc917fc9",
      "parents": [
        "0661b1ac5d48eb47c8a5948c0554fea25e0895ab"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 09:20:33 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 09:20:33 2010 +0200"
      },
      "message": "coda: move backing-dev.h kernel include inside __KERNEL__\n\nOtherwise we must export backing-dev.h as well, which doesn\u0027t make\nany sense.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "05fceb4ad7e8bf809a2a97061d6273d27d1a8449",
      "tree": "a66511ff88417f12fd7a43c6f9a7c0a34662d6e5",
      "parents": [
        "47d54d65826c4a498070a5e0e1d74ce665402b4d"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Apr 23 01:40:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:49:02 2010 -0700"
      },
      "message": "net: disallow to use net_assign_generic externally\n\nNow there\u0027s no need to use this fuction directly because it\u0027s handled by\nregister_pernet_device. So to make this simple and easy to understand,\nmake this static to do not tempt potentional users.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c377411f2494a931ff7facdbb3a6839b1266bcf6",
      "tree": "6846cdcec913f50839e3916856f78f7e059ff5fb",
      "parents": [
        "6e7676c1a76aed6e957611d8d7a9e5592e23aeba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "message": "net: sk_add_backlog() take rmem_alloc into account\n\nCurrent socket backlog limit is not enough to really stop DDOS attacks,\nbecause user thread spend many time to process a full backlog each\nround, and user might crazy spin on socket lock.\n\nWe should add backlog size and receive_queue size (aka rmem_alloc) to\npace writers, and let user run without being slow down too much.\n\nIntroduce a sk_rcvqueues_full() helper, to avoid taking socket lock in\nstress situations.\n\nUnder huge stress from a multiqueue/RPS enabled NIC, a single flow udp\nreceiver can now process ~200.000 pps (instead of ~100 pps before the\npatch) on a 8 core machine.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e7676c1a76aed6e957611d8d7a9e5592e23aeba",
      "tree": "0cd14260745f755c885466c59182452f637e92e3",
      "parents": [
        "c58dc01babfd58ec9e71a6ce080150dc27755d88"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Apr 27 15:07:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:11:49 2010 -0700"
      },
      "message": "net: batch skb dequeueing from softnet input_pkt_queue\n\nbatch skb dequeueing from softnet input_pkt_queue to reduce potential lock\ncontention when RPS is enabled.\n\nNote: in the worst case, the number of packets in a softnet_data may\nbe double of netdev_max_backlog.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c58dc01babfd58ec9e71a6ce080150dc27755d88",
      "tree": "065c58b5236ea23ff0868a6bbf3c5233b990f0be",
      "parents": [
        "c4ee6a5348102b9cea49fb9adf88307445407911"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:05:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:11:48 2010 -0700"
      },
      "message": "net: Make RFS socket operations not be inet specific.\n\nIdea from Eric Dumazet.\n\nAs for placement inside of struct sock, I tried to choose a place\nthat otherwise has a 32-bit hole on 64-bit systems.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "a9cbd588fdb71ea415754c885e2f9f03e6bf1ba0",
      "tree": "68506bd4299f34b3ed31b76eb575e79c61e198fb",
      "parents": [
        "bb611874650cff942a7466b456a791e8bfa641e7"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Apr 26 23:06:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 14:32:12 2010 -0700"
      },
      "message": "net: reimplement softnet_data.output_queue as a FIFO queue\n\nreimplement softnet_data.output_queue as a FIFO queue to keep the\nfairness among the qdiscs rescheduled.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n----\n include/linux/netdevice.h |    1 +\n net/core/dev.c            |   22 ++++++++++++----------\n 2 files changed, 13 insertions(+), 10 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a060bbfe4ee95d115e8f9705a66894ac34e2c475",
      "tree": "6aea616cdd07c06886c0e1ffade68e5d58f9e9c2",
      "parents": [
        "9043f3b89abebfbfe4b8d64c7b71b9ac0b9eaa0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 27 11:59:34 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:23 2010 -0400"
      },
      "message": "mac80211: give virtual interface to hw_scan\n\nWhen scanning, it is somewhat important to scan\non the correct virtual interface. All drivers\nthat currently implement hw_scan only support a\nsingle virtual interface, but that may change\nand then we\u0027d want to be ready.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9043f3b89abebfbfe4b8d64c7b71b9ac0b9eaa0b",
      "tree": "c7d0419f0f8c44ca92e33b7acd21295e1befa74f",
      "parents": [
        "195e294d21e88af879da4f88db2ceeb4ec28a755"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Apr 27 12:47:41 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:22 2010 -0400"
      },
      "message": "cfg80211: Remove default dynamic PS timeout value\n\nNow that the mac80211 is choosing dynamic ps timeouts based on the ps-qos\nnetwork latency configuration, configure a default value of -1 as the dynamic\nps timeout in cfg80211. This value allows the mac80211 to determine the value\nto be used.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "195e294d21e88af879da4f88db2ceeb4ec28a755",
      "tree": "22a75db60cc8743888054460db85eb9a76b0cecb",
      "parents": [
        "3a37495268ab45507b4cab9d4cb18c5496ab7a10"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Apr 27 12:47:40 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:22 2010 -0400"
      },
      "message": "mac80211: Determine dynamic PS timeout based on ps-qos network latency\n\nDetermine the dynamic PS timeout based on the configured ps-qos network\nlatency. For backwards wext compatibility, allow the dynamic PS timeout\nconfigured by the cfg80211 to overrule the automatically determined value.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fd8aaaf3519f3fd3c82594e90bc6808072b94d54",
      "tree": "70ebab87226b597270c1d33b57955afac3e2f4fe",
      "parents": [
        "740c2679396d60763968ffd16362f1f5c8242172"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Apr 27 01:23:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:21 2010 -0400"
      },
      "message": "cfg80211: add ap isolation support\n\nThis is used to configure APs to not bridge traffic between connected stations.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bb611874650cff942a7466b456a791e8bfa641e7",
      "tree": "32e048e3240dd808e7787ff2b7eb50ed9f0a6182",
      "parents": [
        "d328bc839eac685cdd91f5d9d8ad95c070252038",
        "cb6a4e461fb427689920472bd7335f926d521747"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "ff846f52935e6c8dfb0c97df7c2c1bf777454684",
      "tree": "f7b17c3e0e76f221809e509b749df6ae5caf868b",
      "parents": [
        "ef021194d262bdfa706dc5755596e252175a6bbc"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Apr 27 01:02:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:28 2010 -0700"
      },
      "message": "igb: add support for reporting 5GT/s during probe on PCIe Gen2\n\nThis change corrects the fact that we were not reporting Gen2 link speeds\nwhen we were in fact connected at Gen2 rates.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b53ff2eadb1db6818894435f85989fb05d7e718",
      "tree": "6c7ecececdb6a094c68b4af122aed788648a2b13",
      "parents": [
        "18f9f1365dad1237072d360bc487d8c7a1cae532"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 26 20:40:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:26 2010 -0700"
      },
      "message": "net: fix a lockdep rcu warning in __sk_dst_set()\n\n__sk_dst_set() might be called while no state can be integrated in a\nrcu_dereference_check() condition.\n\nSo use rcu_dereference_raw() to shutup lockdep warnings (if\nCONFIG_PROVE_RCU is set)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18f9f1365dad1237072d360bc487d8c7a1cae532",
      "tree": "602a20bf3afd2a23969a82cc1431916294a5c4e9",
      "parents": [
        "6c37e5de456987f5bc80879afde05aa120784095"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 27 02:42:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:25 2010 -0700"
      },
      "message": "rps: inet_rps_save_rxhash() argument is not const\n\nconst qualifier on sock argument is misleading, since we can modify rxhash.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c37e5de456987f5bc80879afde05aa120784095",
      "tree": "1459ee69ef3c7172a82d07a7b8aea00836eedda5",
      "parents": [
        "dcdca2c49bb6328bbc7cd8d73434c308b5dd0df2"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Mon Apr 26 18:33:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:25 2010 -0700"
      },
      "message": "TCP: avoid to send keepalive probes if receiving data\n\nRFC 1122 says the following:\n...\n  Keep-alive packets MUST only be sent when no data or\n  acknowledgement packets have been received for the\n  connection within an interval.\n...\n\nThe acknowledgement packet is reseting the keepalive\ntimer but the data packet isn\u0027t. This patch fixes it by\nchecking the timestamp of the last received data packet\ntoo when the keepalive timer expires.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ec75c582e639d956ce3afd499f67febe6f902a4",
      "tree": "4752d1cc90ab385797d526cb901e42f27e3b20f6",
      "parents": [
        "d4c4f07df16c767b8efbc44e7cdf795fac326b33"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 27 06:22:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:39:01 2010 -0700"
      },
      "message": "net: suppress RCU lockdep false positive in twsk_net()\n\nCalls to twsk_net() are in some cases protected by reference counting\nas an alternative to RCU protection.  Cases covered by reference counts\ninclude __inet_twsk_kill(), inet_twsk_free(), inet_twdr_do_twkill_work(),\ninet_twdr_twcal_tick(), and tcp_timewait_state_process().  RCU is used\nby inet_twsk_purge().  Locking is used by established_get_first()\nand established_get_next().  Finally, __inet_twsk_hashdance() is an\ninitialization case.\n\nIt appears to be non-trivial to locate the appropriate locks and\nreference counts from within twsk_net(), so used rcu_dereference_raw().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b2cbd42bef5a22bb681acd607a7c3fbca1eeb3c",
      "tree": "ec3461cd593eaf65ffcd3fbb538c3976da1caa60",
      "parents": [
        "af740b2c8f4521e2c45698ee6040941a82d6349d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Apr 27 15:34:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 27 15:34:34 2010 +0200"
      },
      "message": "netfilter: x_tables: rectify XT_FUNCTION_MAXNAMELEN usage\n\nThere has been quite a confusion in userspace about\nXT_FUNCTION_MAXNAMELEN; because struct xt_entry_match used MAX-1,\nuserspace would have to do an awkward MAX-2 for maximum length\nchecking (due to \u0027\\0\u0027). This patch adds a new define that matches the\ndefinition of XT_TABLE_MAXNAMELEN - being the size of the actual\nstruct member, not one off.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5af55428858a45d94893fd6124d60988e89c0d59",
      "tree": "91345a57d6470f75e129391abd887c8eda9ea868",
      "parents": [
        "0a182fd88f8180b342f753f04c7d5507b5891c96"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Wed Mar 31 22:54:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:51:09 2010 -0400"
      },
      "message": "ssb: Fix order of definitions and some text space indents\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a182fd88f8180b342f753f04c7d5507b5891c96",
      "tree": "056f2ec8a8f0600175fce41468edfd7d0b69cef3",
      "parents": [
        "ea2db495f92ad2cf3301623e60cb95b4062bc484"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Wed Mar 31 22:54:18 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:51:08 2010 -0400"
      },
      "message": "ssb: Use relative offsets for SPROM\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea2db495f92ad2cf3301623e60cb95b4062bc484",
      "tree": "7cbfbc413f573673fc802fc44919ebbfcb5239ef",
      "parents": [
        "d53cdbb94a52a920d5420ed64d986c3523a56743"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Wed Mar 31 21:59:21 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:51:08 2010 -0400"
      },
      "message": "ssb: Look for SPROM at different offset on higher rev CC\n\nOur offset handling becomes even a little more hackish now. For some reason I\ndo not understand all offsets as inrelative. It assumes base offset is 0x1000\nbut it will work for now as we make offsets relative anyway by removing base\n0x1000. Should be cleaner however.\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d53cdbb94a52a920d5420ed64d986c3523a56743",
      "tree": "39b1026c953de14ce6b14417cf9bcb66992909f0",
      "parents": [
        "672724403b42da1d276c6cf811e8e34d15efd964"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 31 21:39:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:50:54 2010 -0400"
      },
      "message": "ssb: do not read SPROM if it does not exist\n\nAttempting to read registers that don\u0027t exist on the SSB bus can cause\nhangs on some boxes.  At least some b43 devices are \u0027in the wild\u0027 that\ndon\u0027t have SPROMs at all.  When the SSB bus support loads, it attempts\nto read these (non-existant) SPROMs and causes hard hangs on the box --\nno console output, etc.\n\nThis patch adds some intelligence to determine whether or not the SPROM\nis present before attempting to read it.  This avoids those hard hangs\non those devices with no SPROM attached to their SSB bus.  The\nSSB-attached devices (e.g. b43, et al.) won\u0027t work, but at least the box\nwill survive to test further patches. :-)\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nCc: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\n"
    }
  ],
  "next": "25239cee7e8732dbdc9f5d324f1c22a3bdec1d1f"
}
