)]}'
{
  "log": [
    {
      "commit": "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1",
      "tree": "b4b0cb4b619368bc93ff883f4b667e05a185549b",
      "parents": [
        "dced35aeb0367dda2636ee9ee914bda14510dcc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 13:32:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "genirq: Remove compat code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4",
      "tree": "9be1e7e4cd4a4c9fadd98a9ac637020417215521",
      "parents": [
        "2bdd10558c8d93009cb6c32ce9e30800fbb08add"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:28:12 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Mirror irq trigger type bits in irq_data.state\n\nThat\u0027s the data structure chip functions get provided. Also allow them\nto signal the core code that they updated the flags in irq_data.state\nby returning IRQ_SET_MASK_OK_NOCOPY. The default is unchanged.\n\nThe type bits should be accessed via:\n\nval \u003d irqd_get_trigger_type(irqdata);\nand\nirqd_set_trigger_type(irqdata, val);\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2a0d6fb335d4428285dab2d254911748e6040807",
      "tree": "16090086899df6886436b89cc76e6d0d5b36d083",
      "parents": [
        "c1594b77e46124bb462f961e536120e471c67446"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:17:57 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_PENDING flag to core\n\nKeep status in sync until all users are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "163ef3091195f514a06f064b12914597d2644c55",
      "tree": "a6e222b1a7366aa93c884257063aa36ef17cf91f",
      "parents": [
        "3d67baec7f1b01fc289ac1a2f1a7e6d5e43391c6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 11:39:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Move IRQ_REPLAY and IRQ_WAITING to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3aae994fb0f43f6d94a31c33536a83869504abdf",
      "tree": "f928d2067cecfbb89c1133a8b513f84c890f7e9d",
      "parents": [
        "50f7c0327513d5acefbe26fd33498af18d1ffac5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 10:17:52 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:11 2011 +0100"
      },
      "message": "genirq: Consolidate IRQ_DISABLED\n\nHandle IRQ_DISABLED consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "87923470c712dff00b101ffb6b6fbc27bd7a6df5",
      "tree": "35dc1a0adec4d00bbc872ce096c481cf0d69314a",
      "parents": [
        "4699923861513671d3f6ade8efb4e56a9a7ecadf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 03 12:27:44 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Consolidate disable/enable\n\nCreate irq_disable/enable and use them to keep the flags consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1ee6264280e740a9d3ff3feef38642cf0a57013",
      "tree": "a5d3b9ce791551657458d53eafb47533ee34509a",
      "parents": [
        "0cc9d5257857608ba85885b75fcada13d359b5d1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 17 17:45:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:10:51 2011 +0100"
      },
      "message": "genirq: Prevent access beyond allocated_irqs bitmap\n\nLars-Peter Clausen pointed out:\n\n   I stumbled upon this while looking through the existing archs using\n   SPARSE_IRQ.  Even with SPARSE_IRQ the NR_IRQS is still the upper\n   limit for the number of IRQs.\n\n   Both PXA and MMP set NR_IRQS to IRQ_BOARD_START, with\n   IRQ_BOARD_START being the number of IRQs used by the core.\n\n   In various machine files the nr_irqs field of the ARM machine\n   defintion struct is then set to \"IRQ_BOARD_START + NR_BOARD_IRQS\".\n\n   As a result \"nr_irqs\" will greater then NR_IRQS which then again\n   causes the \"allocated_irqs\" bitmap in the core irq code to be\n   accessed beyond its size overwriting unrelated data.\n\nThe core code really misses a sanity check there.\n\nThis went unnoticed so far as by chance the compiler/linker places\ndata behind that bitmap which gets initialized later on those affected\nplatforms.\n\nSo the obvious fix would be to add a sanity check in early_irq_init()\nand break all affected platforms. Though that check wants to be\nbackported to stable as well, which will require to fix all known\nproblematic platforms and probably some more yet not known ones as\nwell. Lots of churn.\n\nA way simpler solution is to allocate a slightly larger bitmap and\navoid the whole churn w/o breaking anything. Add a few warnings when\nan arch returns utter crap.\n\nReported-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org # .37\nCc: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nCc: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "21e2b8c62cca8f7dbec0c8c131ca1637e4a5670f",
      "tree": "8810be220dc49cf78c055ba960b1083cd1459a21",
      "parents": [
        "2f7e99bb9be6a2d8d7b808dc86037710cc8b7bf1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:45:53 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:50 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003eretrigger()\n\nWrap the old chip function retrigger() until the migration is complete\nand the old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121843.025801092@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5f756344c390f629243b4a28c2bd198fdfd7ee9",
      "tree": "9bd1ce01615c9e29ccf970a6478d5eb75fe1ddde",
      "parents": [
        "0c5c15572ac096001f52d37b416f2a4be9aebb80"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:44:56 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:42 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003eenable()\n\nWrap the old chip function enable() until the migration is complete and\nthe old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121842.437159182@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b8ff3120c758340505dddf08ad685ebb841d5d5",
      "tree": "794eed27c6f9a8931b8fdf4a7ae60a1560b237fc",
      "parents": [
        "ff7dcd44dd446db2c3e13bdedf2d52b8e0127f16"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 01 12:58:38 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:36:26 2010 +0200"
      },
      "message": "genirq: Convert core code to irq_data\n\nConvert all references in the core code to orq, chip, handler_data,\nchip_data, msi_desc, affinity to irq_data.*\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c36ba80ea01d0aecb652c26799a912e760ce8981",
      "tree": "1f44e0c3ebf1d2bde9d3cc2fab41885b80e3a506",
      "parents": [
        "990a55eb25d9698d61352264cc43f3a9c04cce90"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Aug 06 21:46:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:44:29 2009 +0200"
      },
      "message": "irq: Remove superfluous NULL pointer check in check_irq_resend()\n\nThis takes care of the following entry from Dan\u0027s list:\n\nkernel/irq/resend.c +73 check_irq_resend(17) warning: variable derefenced before check \u0027desc-\u003echip\u0027\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Eugene Teo \u003ceteo@redhat.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nLKML-Reference: \u003c200908062146.03638.bzolnier@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08678b0841267c1d00d771fe01548d86043d065e",
      "tree": "7debb21f9e9a768ced43077f7376797a0c46f8c0",
      "parents": [
        "bfea1238beac9d306eeac081c67de5ca6aec4c7a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:29 2008 +0200"
      },
      "message": "generic: sparse irqs: use irq_desc() together with dyn_array, instead of irq_desc[]\n\nadd CONFIG_HAVE_SPARSE_IRQ to for use condensed array.\nGet rid of irq_desc[] array assumptions.\n\nPreallocate 32 irq_desc, and irq_desc() will try to get more.\n\n( No change in functionality is expected anywhere, except the odd build\n  failure where we missed a code site or where a crossing commit itroduces\n  new irq_desc[] usage. )\n\nv2: according to Eric, change get_irq_desc() to irq_desc()\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85c0f90978bf50596dbd23854648020f1f9b5bfd",
      "tree": "f66c598bb37b925dd6c74e4ce1fb06345c742c01",
      "parents": [
        "6da55c3e8da88e8a7cb6452160776ad6706798ad"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:47 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:05 2008 +0200"
      },
      "message": "irq: introduce nr_irqs\n\nat this point nr_irqs is equal NR_IRQS\n\nconvert a few easy users from NR_IRQS to dynamic nr_irqs.\n\nv2: according to Eric, we need to take care of arch without generic_hardirqs\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2464286ace55b3abddfb9cc30ab95e2dac1de9a6",
      "tree": "0ef5493e17325c99dc8bbb0c77d4eb4bf9944713",
      "parents": [
        "496634217e5671ed876a0348e9f5b7165e830b20"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Aug 12 15:46:35 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Aug 12 11:05:45 2007 -0700"
      },
      "message": "genirq: suppress resend of level interrupts\n\nLevel type interrupts are resent by the interrupt hardware when they are\nstill active at irq_enable().\n\nSuppress the resend mechanism for interrupts marked as level.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88ffc3505988196ef5cfdc0278ad89025c2a7b1a",
      "tree": "25db60136e1eb156fdaa4793800a7c3f34153927",
      "parents": [
        "175fc484256e9c85e043f599ec2f6bc0d2e6c443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 09 08:10:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 09 08:10:16 2007 -0700"
      },
      "message": "Revert \"genirq: temporary fix for level-triggered IRQ resend\"\n\nThis reverts commit 0fc4969b866671dfe39b1a9119d0fdc7ea0f63e5.  It was\nalways meant to be temporary, but it\u0027s generating more useless noise\nthan anything else, and we probably should never have done it in the\ngeneric kernel (only had the people involved test it on their own).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fc4969b866671dfe39b1a9119d0fdc7ea0f63e5",
      "tree": "05e644d8c1e0071b07ac5b6aee83d8dc3eaf664e",
      "parents": [
        "fd0cbdd378258fdf44eac5ea091256a4a665315b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 01 17:13:19 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 01 20:46:22 2007 -0700"
      },
      "message": "genirq: temporary fix for level-triggered IRQ resend\n\nMarcin Slusarz reported a ne2k-pci \"hung network interface\" regression.\n\ndelayed disable relies on the ability to re-trigger the interrupt in the\ncase that a real interrupt happens after the software disable was set.\nIn this case we actually disable the interrupt on the hardware level\n_after_ it occurred.\n\nOn enable_irq, we need to re-trigger the interrupt. On i386 this relies\non a hardware resend mechanism (send_IPI_self()).\n\nActually we only need the resend for edge type interrupts. Level type\ninterrupts come back once enable_irq() re-enables the interrupt line.\n\nI assume that the interrupt in question is level triggered because it is\nshared and above the legacy irqs 0-15:\n\n\t17:         12   IO-APIC-fasteoi   eth1, eth0\n\nLooking into the IO_APIC code, the resend via send_IPI_self() happens\nunconditionally. So the resend is done for level and edge interrupts.\nThis makes the problem more mysterious.\n\nThe code in question lib8390.c does\n\n\tdisable_irq();\n\tfiddle_with_the_network_card_hardware()\n\tenable_irq();\n\nThe fiddle_with_the_network_card_hardware() might cause interrupts,\nwhich are cleared in the same code path again,\n\nMarcin found that when he disables the irq line on the hardware level\n(removing the delayed disable) the card is kept alive.\n\nSo the difference is that we can get a resend on enable_irq, when an\ninterrupt happens during the time, where we are in the disabled region.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e317c8ccaaf900abf39cc3240e4dc5ba82a3cc67",
      "tree": "327b25cecd21d97097b1249fe73a5c9ff2a6bcc6",
      "parents": [
        "b7696ee3c050a76a6cebccdbadfc93896b336e44"
      ],
      "author": {
        "name": "Frederik Deweerdt",
        "email": "deweerdt@free.fr",
        "time": "Fri Oct 06 18:58:24 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 12:11:08 2006 -0700"
      },
      "message": "[PATCH] ixp4xxdefconfig arm fixes\n\nWith the following patch, the ixp4xxdefconfig builds correctly.  I\u0027ll\ntest some more configs if I get some time.\n\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e1ed7ac77b63abb6b3a2c0b4b070f50da5b1fb2f",
      "tree": "f82b0558b445cdae2ebf377c19e6409cef7679e0",
      "parents": [
        "63b98080daa35f0d682db04f4fb7ada010888752"
      ],
      "author": {
        "name": "Imre Deak",
        "email": "imre.deak@solidboot.com",
        "time": "Sat Sep 16 12:15:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 16 12:54:30 2006 -0700"
      },
      "message": "[PATCH] genirq: fix typo in IRQ resend\n\nFix a bug where the IRQ_PENDING flag is never cleared and the ISR is called\nendlessly without an actual interrupt.\n\nSigned-off-by: Imre Deak \u003cimre.deak@solidboot.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a6de9ef5850d063c3d3fb50784bfe3a6d0712c6",
      "tree": "d09f1887fd8890c820559b931140afe4c68f2d7f",
      "parents": [
        "a34db9b28a1c63317e1d6f1080a12d711579e7d0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: core\n\nCore genirq support: add the irq-chip and irq-flow abstractions.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4633adcdbc15ac51afcd0e1395de58cee27cf92",
      "tree": "5ab714eba77aec7546e862ac6d63a22010819efe",
      "parents": [
        "11c869eaf1a9c97ef273f824a697fac017d68286"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: add genirq sw IRQ-retrigger\n\nEnable platforms that do not have a hardware-assisted hardirq-resend mechanism\nto resend them via a softirq-driven IRQ emulation mechanism.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
