)]}'
{
  "log": [
    {
      "commit": "1adb0850a1254333d81e64121c80af100c6d6e06",
      "tree": "61835b06e78eb6f556c038ceabc706440f339d3a",
      "parents": [
        "886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 28 17:01:56 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 02 13:40:34 2008 +0200"
      },
      "message": "genirq: reenable a nobody cared disabled irq when a new driver arrives\n\nUwe Kleine-Koenig has some strange hardware where one of the shared\ninterrupts can be asserted during boot before the appropriate driver\nloads. Requesting the shared irq line from another driver result in a\nspurious interrupt storm which finally disables the interrupt line.\n\nI have seen similar behaviour on resume before (the hardware does not\nwork anymore so I can not verify).\n\nChange the spurious disable logic to increment the disable depth and\nmark the interrupt with an extra flag which allows us to reenable the\ninterrupt when a new driver arrives which requests the same irq\nline. In the worst case this will disable the irq again via the\nspurious trap, but there is a decent chance that the new driver is the\none which can handle the already asserted interrupt and makes the box\nusable again.\n\nEric Biederman said further: This case also happens on a regular basis\nin kdump kernels where we deliberately don\u0027t shutdown the hardware\nbefore starting the new kernel.  This patch should reduce the need for\nusing irqpoll in that situation by a small amount.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-and-Acked-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\n\n"
    },
    {
      "commit": "1aeb272cf09f9e2cbc62163b9f37a9b4d1c7e81d",
      "tree": "17c76e18fa145affedae790460cff724f965646b",
      "parents": [
        "3a2e7f47d71e1df86acc1dda6826890b6546a4e1"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 00:59:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:04 2008 -0700"
      },
      "message": "kernel: explicitly include required header files under kernel/\n\nFollowing an experimental deletion of the unnecessary directive\n\n #include \u003clinux/slab.h\u003e\n\nfrom the header file \u003clinux/percpu.h\u003e, these files under kernel/ were exposed\nas needing to include one of \u003clinux/slab.h\u003e or \u003clinux/gfp.h\u003e, so explicit\nincludes were added where necessary.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d366f8cbc16882e93538d9a52423c2f50dad7c06",
      "tree": "64202cd91a942dc3ea9b88adb6da562c2fb191a8",
      "parents": [
        "f46bdf2db25dfaff3b611c9711705645cdb03acc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpumask: Cleanup more uses of CPU_MASK and NODE_MASK\n\n *  Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE,\n    NODE_MASK_ALL to reduce stack requirements for large NR_CPUS\n    and MAXNODES counts.\n\n *  In some cases, the cpumask variable was initialized but then overwritten\n    with another value.  This is the case for changes like this:\n\n    -       cpumask_t oldmask \u003d CPU_MASK_ALL;\n    +       cpumask_t oldmask;\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "89d694b9dbe769ca1004e01db0ca43964806a611",
      "tree": "b8fd51348034a4b09547ea0137d4ac467f6987fa",
      "parents": [
        "188fd89d539d899bfca2bc83534e5508e0161139"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 18 18:25:17 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 19 10:43:58 2008 +0100"
      },
      "message": "genirq: do not leave interupts enabled on free_irq\n\nThe default_disable() function was changed in commit:\n\n 76d2160147f43f982dfe881404cfde9fd0a9da21\n genirq: do not mask interrupts by default\n\nIt removed the mask function in favour of the default delayed\ninterrupt disabling. Unfortunately this also broke the shutdown in\nfree_irq() when the last handler is removed from the interrupt for\nthose architectures which rely on the default implementations. Now we\ncan end up with a enabled interrupt line after the last handler was\nremoved, which can result in spurious interrupts.\n\nFix this by adding a default_shutdown function, which is only\ninstalled, when the irqchip implementation does provide neither a\nshutdown nor a disable function.\n\n[@stable: affected versions: .21 - .24 ]\n\nPointed-out-by: Michael Hennerich \u003cMichael.Hennerich@analog.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@kernel.org\nTested-by: Michael Hennerich \u003cMichael.Hennerich@analog.com\u003e\n\n"
    },
    {
      "commit": "188fd89d539d899bfca2bc83534e5508e0161139",
      "tree": "ffe14a3752c248b2b452f2b13a203a1de982cfae",
      "parents": [
        "9a4c8546f3e7c893888bccc2b3416d6214f2664a"
      ],
      "author": {
        "name": "S.Caglar Onur",
        "email": "caglar@pardus.org.tr",
        "time": "Thu Feb 14 17:36:51 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 19 10:43:58 2008 +0100"
      },
      "message": "genirq: spurious.c: use time_* macros\n\nThe functions time_before, time_before_eq, time_after, and\ntime_after_eq are more robust for comparing jiffies against other\nvalues.\n\nSo following patch implements usage of the time_after() macro, defined\nat linux/jiffies.h, which deals with wrapping correctly\n\nSigned-off-by: S.Caglar Onur \u003ccaglar@pardus.org.tr\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "46f4f8f665080900e865392f4b3593be463bf0d8",
      "tree": "d4d1cb04b461b4ddd841396647d911fdc08819ef",
      "parents": [
        "922f9cfa79b52c85b6002d96cb0eefd13437c58c"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Feb 08 04:22:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "IRQ_NOPROBE helper functions\n\nProbing non-ISA interrupts using the handle_percpu_irq as their handle_irq\nmethod may crash the system because handle_percpu_irq does not check\nIRQ_WAITING.  This for example hits the MIPS Qemu configuration.\n\nThis patch provides two helper functions set_irq_noprobe and set_irq_probe to\nset rsp.  clear the IRQ_NOPROBE flag.  The only current caller is MIPS code\nbut this really belongs into generic code.\n\nAs an aside, interrupt probing these days has become a mostly obsolete if not\ndangerous art.  I think Linux interrupts should be changed to default to\nnon-probing but that\u0027s subject of this patch.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-and-tested-by: Rob Landley \u003crob@landley.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7",
      "tree": "6715ffd8df509d3d53dea581bb97418a21bc7cbc",
      "parents": [
        "fc9b52cd8f5f459b88adcf67c47668425ae31a78"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "kernel: remove fastcall in kernel/*\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70edcd77a0d6d0f8731c826764f5eb6732f521e9",
      "tree": "1ea618a73c784c11b52168046d5a27197398520a",
      "parents": [
        "17abecfe651c862cd31b1f9e8ef6cfc29083f00d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:24 2008 +0100"
      },
      "message": "genirq: stackdump after the \"Trying to free already-free IRQ\" message\n\nthese bugs are harder to find than they seem, a stackdump helps.\n\nmake it dependent on CONFIG_DEBUG_SHIRQ so that people can turn it off\nif it annoys them.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "96d97cf03b3d68e6c857623da93acd522b2b7e1a",
      "tree": "f31885e66849ca2e20d9dffd72ecd556204dbb45",
      "parents": [
        "9e094c17ee2b85130ab7b2ea37456f6867eb687a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "message": "x86: add /proc/irq/*/spurious to dump the spurious irq debugging state\n\nThis is useful to debug problems with interrupt handlers that return\nsometimes IRQ_NONE.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9e094c17ee2b85130ab7b2ea37456f6867eb687a",
      "tree": "ca4723bbf4e62b623869be0f73c2f74807f3384c",
      "parents": [
        "b899c5ed2ef3af3429abd8046197255f179ea496"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "message": "genirq: turn irq debugging options into module params\n\nThis allows to change them at runtime using sysfs. No need to\nreboot to set them.\n\nI only added aliases (kernel.noirqdebug etc.) so the old options\nstill work.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "971e5b35fb02c5088d49e6c024aab73582a35b71",
      "tree": "3d90abcd2d4ff8ed66dc0110af9f8d3e63c1043a",
      "parents": [
        "213fde71024223abcdd7d9e5349d1ea2679227b5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "message": "genirq: revert lazy irq disable for simple irqs\n\nIn commit 76d2160147f43f982dfe881404cfde9fd0a9da21 lazy irq disabling\nwas implemented, and the simple irq handler had a masking set to it.\n\nRemy Bohmer discovered that some devices in the ARM architecture\nwould trigger the mask, but never unmask it. His patch to do the\nunmasking was questioned by Russell King about masking simple irqs\nto begin with. Looking further, it was discovered that the problems\nRemy was seeing was due to improper use of the simple handler by\ndevices, and he later submitted patches to fix those. But the issue\nthat was uncovered was that the simple handler should never mask.\n\nThis patch reverts the masking in the simple handler.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c642b8391cf8efc3622cc97329a0f46e7cbb70b8",
      "tree": "34a8892a55563c3885cfed1500f9933b49f04abe",
      "parents": [
        "57d5f66b86079efac5c9a7843cce2a9bcbe58fb8"
      ],
      "author": {
        "name": "Russ Anderson",
        "email": "rja@sgi.com",
        "time": "Wed Nov 14 17:00:15 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:43 2007 -0800"
      },
      "message": "__do_IRQ does not check IRQ_DISABLED when IRQ_PER_CPU is set\n\nIn __do_IRQ(), the normal case is that IRQ_DISABLED is checked and if set\nthe handler (handle_IRQ_event()) is not called.\n\nEarlier in __do_IRQ(), if IRQ_PER_CPU is set the code does not check\nIRQ_DISABLED and calls the handler even though IRQ_DISABLED is set.  This\nbehavior seems unintentional.\n\nOne user encountering this behavior is the CPE handler (in\narch/ia64/kernel/mca.c).  When the CPE handler encounters too many CPEs\n(such as a solid single bit error), it sets up a polling timer and disables\nthe CPE interrupt (to avoid excessive overhead logging the stream of single\nbit errors).  disable_irq_nosync() is called which sets IRQ_DISABLED.  The\nIRQ_PER_CPU flag was previously set (in ia64_mca_late_init()).  The net\nresult is the CPE handler gets called even though it is marked disabled.\n\nIf the behavior of not checking IRQ_DISABLED when IRQ_PER_CPU is set is\nintentional, it would be worthy of a comment describing the intended\nbehavior.  disable_irq_nosync() does call chip-\u003edisable() to provide a\nchipset specifiec interface for disabling the interrupt, which avoids this\nissue when used.\n\nSigned-off-by: Russ Anderson \u003crja@sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a98ce5c6feead6bfedefabd46cb3d7f5be148d9a",
      "tree": "7bbd027e40805966ad908e40f09ffd412a72a88b",
      "parents": [
        "48d2268473a66fe3aa78fb13b09ee59d6ee95073"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 23 11:26:25 2007 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 23 09:01:31 2007 -0700"
      },
      "message": "Fix synchronize_irq races with IRQ handler\n\nAs it is some callers of synchronize_irq rely on memory barriers\nto provide synchronisation against the IRQ handlers.  For example,\nthe tg3 driver does\n\n\ttp-\u003eirq_sync \u003d 1;\n\tsmp_mb();\n\tsynchronize_irq();\n\nand then in the IRQ handler:\n\n\tif (!tp-\u003eirq_sync)\n\t\tnetif_rx_schedule(dev, \u0026tp-\u003enapi);\n\nUnfortunately memory barriers only work well when they come in\npairs.  Because we don\u0027t actually have memory barriers on the\nIRQ path, the memory barrier before the synchronize_irq() doesn\u0027t\nactually protect us.\n\nIn particular, synchronize_irq() may return followed by the\nresult of netif_rx_schedule being made visible.\n\nThis patch (mostly written by Linus) fixes this by using spin\nlocks instead of memory barries on the synchronize_irq() path.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28e3fed8b79c76450f264e77c58d0f5fbd2dd739",
      "tree": "3e1b2f8e5a5f9f15fdaae2a307eead82e38c450c",
      "parents": [
        "b4471cbb09c4694e54092d02715c09fda2eb45ed"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Oct 16 23:30:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:00 2007 -0700"
      },
      "message": "Compile handle_percpu_irq even for uniprocessor kernels\n\nCompiling handle_percpu_irq only on uniprocessor generates an artificial\nspecial case so a typical use like:\n\n  set_irq_chip_and_handler(irq, \u0026some_irq_type, handle_percpu_irq);\n\nneeds to be conditionally compiled only on SMP systems as well and an\nalternative UP construct is usually needed - for no good reason.\n\nThis fixes uniprocessor configurations for some MIPS SMP systems.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d99493b3a68e40e56459ea3565d4402fb6e5f3a",
      "tree": "362ebcf8871e0fad07aa754bb5194de3a2cd64d3",
      "parents": [
        "f13ef7754f724842dbf5ae6d85d0604fff0d1a84"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Oct 16 23:26:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "Fix CONFIG_DEBUG_SHIRQ trigger on free_irq()\n\nAndy Gospodarek pointed out that because we return in the middle of the\nfree_irq() function, we never actually do call the IRQ handler that just\ngot deregistered. This should fix it, although I expect Andrew will want\nto convert those \u0027return\u0027s to \u0027break\u0027. That\u0027s a separate change though.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCc: Fernando Luis Vzquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59845b1ffd9121e5ef474ea5f27405fd7a83c85b",
      "tree": "9f7c073327138b7c5bb0193229244dbdd5444113",
      "parents": [
        "2aeb3db17fc33443d21b11d7121c5627d55717c6"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Thu Aug 30 23:56:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 31 01:42:23 2007 -0700"
      },
      "message": "request_irq: fix DEBUG_SHIRQ handling\n\nMariusz Kozlowski reported lockdep\u0027s warning:\n\n\u003e \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\u003e [ INFO: inconsistent lock state ]\n\u003e 2.6.23-rc2-mm1 #7\n\u003e ---------------------------------\n\u003e inconsistent {in-hardirq-W} -\u003e {hardirq-on-W} usage.\n\u003e ifconfig/5492 [HC0[0]:SC0[0]:HE1:SE1] takes:\n\u003e  (\u0026tp-\u003elock){+...}, at: [\u003cde8706e0\u003e] rtl8139_interrupt+0x27/0x46b [8139too]\n\u003e {in-hardirq-W} state was registered at:\n\u003e   [\u003cc0138eeb\u003e] __lock_acquire+0x949/0x11ac\n\u003e   [\u003cc01397e7\u003e] lock_acquire+0x99/0xb2\n\u003e   [\u003cc0452ff3\u003e] _spin_lock+0x35/0x42\n\u003e   [\u003cde8706e0\u003e] rtl8139_interrupt+0x27/0x46b [8139too]\n\u003e   [\u003cc0147a5d\u003e] handle_IRQ_event+0x28/0x59\n\u003e   [\u003cc01493ca\u003e] handle_level_irq+0xad/0x10b\n\u003e   [\u003cc0105a13\u003e] do_IRQ+0x93/0xd0\n\u003e   [\u003cc010441e\u003e] common_interrupt+0x2e/0x34\n...\n\u003e other info that might help us debug this:\n\u003e 1 lock held by ifconfig/5492:\n\u003e  #0:  (rtnl_mutex){--..}, at: [\u003cc0451778\u003e] mutex_lock+0x1c/0x1f\n\u003e\n\u003e stack backtrace:\n...\n\u003e  [\u003cc0452ff3\u003e] _spin_lock+0x35/0x42\n\u003e  [\u003cde8706e0\u003e] rtl8139_interrupt+0x27/0x46b [8139too]\n\u003e  [\u003cc01480fd\u003e] free_irq+0x11b/0x146\n\u003e  [\u003cde871d59\u003e] rtl8139_close+0x8a/0x14a [8139too]\n\u003e  [\u003cc03bde63\u003e] dev_close+0x57/0x74\n...\n\nThis shows that a driver\u0027s irq handler was running both in hard interrupt\nand process contexts with irqs enabled. The latter was done during\nfree_irq() call and was possible only with CONFIG_DEBUG_SHIRQ enabled.\nThis was fixed by another patch.\n\nBut similar problem is possible with request_irq(): any locks taken from\nirq handler could be vulnerable - especially with soft interrupts. This\npatch fixes it by disabling local interrupts during handler\u0027s run. (It\nseems, disabling softirqs should be enough, but it needs more checking\non possible races or other special cases).\n\nReported-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b7f07155f8ee1536da2f9590f1aa9383afefb6b",
      "tree": "d4f0fcf4a96734c33ed9e0470fcb28be523070a0",
      "parents": [
        "436bbd431d41e0fd3bfedb0312ab764b291ddf82"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Aug 22 14:01:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:44 2007 -0700"
      },
      "message": "free_irq(): fix DEBUG_SHIRQ handling\n\nIf we\u0027re going to run the handler from free_irq() then we must do it with\nlocal irq\u0027s disabled.  Otherwise lockdep complains that the handler is taking\nirq-safe spinlocks in a non-irq-safe fashion.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "496634217e5671ed876a0348e9f5b7165e830b20",
      "tree": "b7614ffeca67d328ec70d9d886c4ae63ce225f44",
      "parents": [
        "963c6527e0a0e285736ad482b8142d098f9c2288"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Aug 12 15:46:34 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Aug 12 11:05:45 2007 -0700"
      },
      "message": "genirq: cleanup mismerge artifact\n\nCommit 5a43a066b11ac2fe84cf67307f20b83bea390f83: \"genirq: Allow fasteoi\nhandler to retrigger disabled interrupts\" was erroneously applied to\nhandle_level_irq().  This added the irq retrigger / resend functionality\nto the level irq handler.\n\nRevert the offending bits.\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": "0af3678f7c5872836d1cc8d7c659abd62c3c5ae7",
      "tree": "d74ee34e24b3fc85a9ac66675a4e70cadfe76c58",
      "parents": [
        "2d954d06acbcf9a5f7668a1897850c9b7be6b8f3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Jul 27 14:24:33 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 28 19:42:22 2007 -0700"
      },
      "message": "rip some includes from linux/interrupt.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42ee2b74140b69fa24da1c671b03c9f8019e6f62",
      "tree": "1a5fdf2743d90185fd9716bbaa9bdcd6140f8ae8",
      "parents": [
        "78b599aed61a1098444558e74c93745f22eda6cb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Jul 21 17:09:54 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 18:37:07 2007 -0700"
      },
      "message": "x86_64: Report the pending irq if available in smp_affinity\n\nOtherwise smp_affinity would only update after the next interrupt\non x86 systems.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f27c00bf80f122513d3a5be16ed851573164534",
      "tree": "2abad49c1e5c93d2d8698c558eb490b99bd35b87",
      "parents": [
        "f3dc8c189a20dc5d115b8f0d07ac620e69eff05c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sun Jul 15 23:40:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "Improve behaviour of spurious IRQ detect\n\nCurrently we handle spurious IRQ activity based upon seeing a lot of\ninvalid interrupts, and we clear things back on the base of lots of valid\ninterrupts.\n\nUnfortunately in some cases you get legitimate invalid interrupts caused by\ntiming asynchronicity between the PCI bus and the APIC bus when disabling\ninterrupts and pulling other tricks.  In this case although the spurious\nIRQs are not a problem our unhandled counters didn\u0027t clear and they act as\na slow running timebomb.  (This is effectively what the serial port/tty\nproblem that was fixed by clearing counters when registering a handler\nshowed up)\n\nIt\u0027s easy enough to add a second parameter - time.  This means that if we\nsee a regular stream of harmless spurious interrupts which are not harming\nprocessing we don\u0027t go off and do something stupid like disable the IRQ\nafter a month of running.  OTOH lockups and performance killers show up a\nlot more than 10/second\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92ea77275b5345c1300433f28689493dc4163f24",
      "tree": "8813e2453b081d700ae32b7dc6f056f2eba8ebe7",
      "parents": [
        "db2668fdbeb2e3c95ebadf95856c9e31a8a8d569"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 24 08:37:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 24 08:37:14 2007 -0700"
      },
      "message": "Fix crash with irqpoll due to the IRQF_IRQPOLL flag testing\n\nWith irqpoll enabled, trying to test the IRQF_IRQPOLL flag in the\nactions would cause a NULL pointer dereference if no action was\ninstalled (for example, the driver might have been unloaded with\ninterrupts still pending).\n\nSo be a bit more careful about testing the flag by making sure to test\nfor that case.\n\n(The actual _change_ is trivial, the patch is more than a one-liner\nbecause I rewrote the testing to also be much more readable.\n\nOriginal (discarded) bugfix by Bernhard Walle.\n\nCc: Bernhard Walle \u003cbwalle@suse.de\u003e\nTested-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25d61578daae697c4a0eb817f42a868af9824f82",
      "tree": "ec4ac10132f0b12a822dba6a53d05bab78ec3760",
      "parents": [
        "3e3d32770204ea24cf71919a90d9ccfc2bd407dd"
      ],
      "author": {
        "name": "John Keller",
        "email": "jpk@sgi.com",
        "time": "Thu May 10 22:42:44 2007 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri May 11 09:35:38 2007 -0700"
      },
      "message": "[IA64] SN: validate smp_affinity mask on intr redirect\n\nOn SN, only allow one bit to be set in the smp_affinty mask when\nredirecting an interrupt.  Currently setting multiple bits is allowed, but\nonly the first bit is used in determining the CPU to redirect to.  This has\ncaused confusion among some customers.\n\n[akpm@linux-foundation.org: fixes]\nSigned-off-by: John Keller \u003cjpk@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "cb0c78cc94a63871cad051674516b38e4a8aef95",
      "tree": "2f90ad36bcfebf29caa3bc38cc5775e53ac58a54",
      "parents": [
        "231f7e9d029a710c14352bff3b8d3753cb9bfde8"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed May 09 02:33:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "Fix Linuxdoc comment\n\nA linuxdoc comment had fallen out of date - it refers to an argument which no\nlonger exists.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85a60d85ea5b7c597508c1510c88e657773d378",
      "tree": "2b5d1a5311074de8c12811e7ddf26e3cda4a41a0",
      "parents": [
        "951744fea0aea9adbd7c8cacb3605f2d69a66f96"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Tue May 08 00:35:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:22 2007 -0700"
      },
      "message": "Add IRQF_IRQPOLL flag (common code)\n\nirqpoll is broken on some architectures that don\u0027t use the IRQ 0 for the timer\ninterrupt like IA64.  This patch adds a IRQF_IRQPOLL flag.\n\nEach architecture is handled in a separate pach.  As I left the irq \u003d\u003d 0 as\ncondition, this should not break existing architectures that use timer_irq \u003d\u003d\n0 and that I did\u0027t address with that patch (because I don\u0027t know).\n\nThis patch:\n\nThis patch adds a IRQF_IRQPOLL flag that the interrupt registration code could\nuse for the interrupt it wants to use for IRQ polling.\n\nBecause this must not be the timer interrupt, an additional flag was added\ninstead of re-using the IRQF_TIMER constant.  Until all architectures will\nhave an IRQF_IRQPOLL interrupt, irq \u003d\u003d 0 will stay as alternative as it should\nnot break anything.\n\nAlso, note_interrupt() is called on CPU-specific interrupts to be used as\ninterrupt source for IRQ polling.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@google.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e729aa16b168fb202d1a20f936028cb7c2a0278d",
      "tree": "d0267225ebfadbaa4f55f55c3025597d86ff1c5f",
      "parents": [
        "428e6ce023c5890cfecc8ad10335da3f28dbf893"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue May 08 00:29:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "Pad irq_desc to internode cacheline size\n\nWe noticed a drop in n/w performance due to the irq_desc being cacheline\naligned rather than internode aligned.  We see 50% of expected performance\nwhen two e1000 nics local to two different nodes have consecutive irq\ndescriptors allocated, due to false sharing.\n\nNote that this patch does away with cacheline padding for the UP case, as\nit does not seem useful for UP configurations.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f75d222b836f7febfab0954c7612b23059d748cb",
      "tree": "229ff362a000daca8aa4c45c3c7216efdb4bfb94",
      "parents": [
        "3367b994fe4f131ab1240600682a1981de7cad0c"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Tue May 08 00:27:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "IRQ: check for PERCPU flag only when adding first irqaction\n\nAn irqaction structure won\u0027t be added to an IRQ descriptor irqaction list if\nit doesn\u0027t agree with other irqactions on the IRQF_PERCPU flag.  Don\u0027t check\nfor this flag to change IRQ descriptor `status\u0027 for every irqaction added to\nthe list, Doing the check only for the first irqaction added is enough.\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2d9433a4c84c9e7ed78d633fdbffb35d5afda17",
      "tree": "5a9fb2c9531bec148f21fc499d49493b5576e79c",
      "parents": [
        "c467a388ae9f236c039d4d0f4c4be07c7deebe97"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Tue May 08 00:27:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "kernel/irq/proc.c: unprotected iteration over the IRQ action list in name_unique()\n\nsetup_irq() releases a desc-\u003elock before calling register_handler_proc(), so\nthe iteration over the IRQ action list is not protected.\n\n(akpm: the check itself is still racy, but at least it probably won\u0027t oops\nnow).\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fe3730de729b758e9f69b862b9255d998671b5f",
      "tree": "2fc0cf3a003aaf6e8c257a32b748941e3eec93b2",
      "parents": [
        "f282b97021ddc95c6092b9016f667c0963858fb1"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Wed Apr 18 19:39:21 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:38 2007 -0700"
      },
      "message": "MSI: arch must connect the irq and the msi_desc\n\nset_irq_msi() currently connects an irq_desc to an msi_desc. The archs call\nit at some point in their setup routine, and then the generic code sets up the\nreverse mapping from the msi_desc back to the irq.\n\nset_irq_msi() should do both connections, making it the one and only call\nrequired to connect an irq with it\u0027s MSI desc and vice versa.\n\nThe arch code MUST call set_irq_msi(), and it must do so only once it\u0027s sure\nit\u0027s not going to fail the irq allocation.\n\nGiven that there\u0027s no need for the arch to return the irq anymore, the return\nvalue from the arch setup routine just becomes 0 for success and anything else\nfor failure.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7f30e49ee1c2c1e95ce9d2ccce5221ddb793dd60",
      "tree": "06af277806d645ce7c970c64c56613b682f071e4",
      "parents": [
        "995f054f2a342f8505fed4f8395d12c0f5966414"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Apr 07 14:59:41 2007 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Apr 07 10:05:21 2007 -0700"
      },
      "message": "[PATCH] irq-devres: fix failure path of devm_request_irq()\n\ndevres should be deallocated with devres_free() not kfree().  This bug\ncorrupts slab on IRQ request failure.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a786b452eba900324c29a8fcf5c96d5b1c01000",
      "tree": "4b19d0c6b9dff736051448bee81ae274088dd701",
      "parents": [
        "610142927b5bc149da92b03c7ab08b8b5f205b74"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 23 04:46:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 26 10:34:08 2007 -0800"
      },
      "message": "[PATCH] genirq: Mask irqs when migrating them.\n\nmove_native_irqs tries to do the right thing when migrating irqs\nby disabling them.  However disabling them is a software logical\nthing, not a hardware thing.  This has always been a little flaky\nand after Ingo\u0027s latest round of changes it is guaranteed to not\nmask the apic.\n\nSo this patch fixes move_native_irq to directly call the mask and\nunmask chip methods to guarantee that we mask the irq when we\nare migrating it.  We must do this as it is required by\nall code that call into the path.\n\nSince we don\u0027t know the masked status when IRQ_DISABLED is\nset so we will not be able to restore it.   The patch makes the code\njust give up and trying again the next time this routing is called.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5575ddf75ca7e61d6f69b96368e03dd88edd4604",
      "tree": "31226bbad6f6ff1cd2123570ef965a20682b8b52",
      "parents": [
        "472900b8b02bf3782b06dcf0acdef26811c2b995"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Feb 16 01:28:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:00 2007 -0800"
      },
      "message": "[PATCH] small irq management simplification\n\nUse mask_ack_irq() where possible.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "472900b8b02bf3782b06dcf0acdef26811c2b995",
      "tree": "0aa22b5fd11d4172ffbfd09b14a237cc68cc3004",
      "parents": [
        "d7e25f3394ba05a6d64cb2be42c2765fe72ea6b2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Feb 16 01:28:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:00 2007 -0800"
      },
      "message": "[PATCH] IRQ kernel-doc fixes\n\nFix kernel-doc warnings in IRQ management.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76d2160147f43f982dfe881404cfde9fd0a9da21",
      "tree": "5140d838f64e8494abd4942b4e2ddf2ddee69046",
      "parents": [
        "1f2ea0837dbc263ce2a2512c4e73c83df68a6a55"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:00 2007 -0800"
      },
      "message": "[PATCH] genirq: do not mask interrupts by default\n\nNever mask interrupts immediately upon request.  Disabling interrupts in\nhigh-performance codepaths is rare, and on the other hand this change could\nrecover lost edges (or even other types of lost interrupts) by conservatively\nonly masking interrupts after they happen.  (NOTE: with this change the\nhighlevel irq-disable code still soft-disables this IRQ line - and if such an\ninterrupt happens then the IRQ flow handler keeps the IRQ masked.)\n\nMark i8529A controllers as \u0027never loses an edge\u0027.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "771ee3b04eaac6184312825eb600b4c598f027a5",
      "tree": "f0db1cca6b9849855c1d2fd6a16828084311e03c",
      "parents": [
        "950f4427c2ddc921164088a20f01304cf231437c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] Add a function to handle interrupt affinity setting\n\nProvide funtions to:\n - check, whether an interrupt can set the affinity\n - pin the interrupt to a given cpu\n\nNecessary for the ability to setup clocksources more flexible (e.g.  use the\ndifferent HPET channels per CPU)\n\n[akpm@osdl.org: alpha build fix]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "950f4427c2ddc921164088a20f01304cf231437c",
      "tree": "8fd3fb1ad045a47dbd2c6ac238c6ff1c1c5aa6c6",
      "parents": [
        "b463fc60730bea6cdd73fec6edc6ec4658d47d37"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] Add irq flag to disable balancing for an interrupt\n\nAdd a flag so we can prevent the irq balancing of an interrupt.  Move the\nbits, so we have room for more :)\n\nNecessary for the ability to setup clocksources more flexible (e.g.  use the\ndifferent HPET channels per CPU)\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38515e908ba3a9c467ad3bf347b9bce69216df94",
      "tree": "3bb0287ad4ea18d61cb3cad74337343ef5034b5d",
      "parents": [
        "3159f06dc2303630c02d1ad2eeaeaf341414c9df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 14 00:33:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] Scheduled removal of SA_xxx interrupt flags fixups\n\nThe obsolete SA_xxx interrupt flags have been used despite the scheduled\nremoval.  Fixup the remaining users.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: James Simmons \u003cjsimmons@infradead.org\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f0504471536a2b6978b9a99ed1c222950fff07a",
      "tree": "173f4554a2bcf2d27dbbe6aeeed562afc8bb6847",
      "parents": [
        "a304e1b82808904c561b7b149b467e338c53fcce"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Feb 12 00:52:04 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:28 2007 -0800"
      },
      "message": "[PATCH] kernel: shut up the IRQ mismatch messages\n\nThe problem is various drivers legally validly and sensibly try to claim\nIRQs but the kernel insists on vomiting forth a giant irrelevant debugging\nspew when the types clash.\n\nEdit kernel/irq/manage.c go down to mismatch: in setup_irq() and ifdef out\nthe if clause that checks for mismatches.  It\u0027ll then just do the right\nthing and work sanely.\n\nFor the current -mm kernel this will do the trick (and moves it into shared\nirq debugging as in debug mode the info spew is useful).  I\u0027ve had a\nvariant of this in my private tree for some time as I got fed up on the\nmess on boxes where old legacy IRQs get reused.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a304e1b82808904c561b7b149b467e338c53fcce",
      "tree": "068b68c37f6f11de116288886eb211f267d790f7",
      "parents": [
        "f9e4acf3befd3b2903e01b3ef1bd344f03299826"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Feb 12 00:52:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:28 2007 -0800"
      },
      "message": "[PATCH] Debug shared irqs\n\nDrivers registering IRQ handlers with SA_SHIRQ really ought to be able to\nhandle an interrupt happening before request_irq() returns.  They also\nought to be able to handle an interrupt happening during the start of their\ncall to free_irq().  Let\u0027s test that hypothesis....\n\n[bunk@stusta.de: Kconfig fixes]\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ea8176994003483a18c8fed580901e2125f8a83",
      "tree": "0712ec9cd3384fbd897eb454ce9c0f907289ab51",
      "parents": [
        "2835fdfa4a7f1400986d76d054237809a9392406"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Feb 11 15:41:31 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:07 2007 -0800"
      },
      "message": "[PATCH] sort the devres mess out\n\n* Split the implementation-agnostic stuff in separate files.\n* Make sure that targets using non-default request_irq() pull\n  kernel/irq/devres.o\n* Introduce new symbols (HAS_IOPORT and HAS_IOMEM) defaulting to positive;\n  allow architectures to turn them off (we needed these symbols anyway for\n  dependencies of quite a few drivers).\n* protect the ioport-related parts of lib/devres.o with CONFIG_HAS_IOPORT.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b653d081c17e26101980c858a9808740533b78b4",
      "tree": "907b6e6d97f30b61840cf4b1654f88a1df56945c",
      "parents": [
        "891dcd2f7ab15e2aaad07f6925b3a53fd8d5c02f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Feb 10 01:45:54 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] proc: remove useless (and buggy) -\u003enlink settings\n\nBug: pnx8550 code creates directory but resets -\u003enlink to 1.\n\ncreate_proc_entry() et al will correctly set -\u003enlink for you.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ac7849e35f705830f7b016ff272b0ff1f7ff759",
      "tree": "7f17cdff87e154937a15cc2ec8da9b4e6018ce8e",
      "parents": [
        "77a527eadb425b60db3f5f0aae6a4c51c38e35e5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jan 20 16:00:26 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:36 2007 -0500"
      },
      "message": "devres: device resource management\n\nImplement device resource management, in short, devres.  A device\ndriver can allocate arbirary size of devres data which is associated\nwith a release function.  On driver detach, release function is\ninvoked on the devres data, then, devres data is freed.\n\ndevreses are typed by associated release functions.  Some devreses are\nbetter represented by single instance of the type while others need\nmultiple instances sharing the same release function.  Both usages are\nsupported.\n\ndevreses can be grouped using devres group such that a device driver\ncan easily release acquired resources halfway through initialization\nor selectively release resources (e.g. resources for port 1 out of 4\nports).\n\nThis patch adds devres core including documentation and the following\nmanaged interfaces.\n\n* alloc/free\t: devm_kzalloc(), devm_kzfree()\n* IO region\t: devm_request_region(), devm_release_region()\n* IRQ\t\t: devm_request_irq(), devm_free_irq()\n* DMA\t\t: dmam_alloc_coherent(), dmam_free_coherent(),\n\t\t  dmam_declare_coherent_memory(), dmam_pool_create(),\n\t\t  dmam_pool_destroy()\n* PCI\t\t: pcim_enable_device(), pcim_pin_device(), pci_is_managed()\n* iomap\t\t: devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(),\n\t\t  devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(),\n\t\t  pcim_iomap(), pcim_iounmap()\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5b912c108c8b1fcecbfe13d6d9a183db97b682d3",
      "tree": "0267f65fd9237a41207e4359e09d09e60f6cd754",
      "parents": [
        "1c659d61cfbd8dc3926688c1bbf12d80f4cfb5c2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Jan 28 12:52:03 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 15:50:08 2007 -0800"
      },
      "message": "msi: Kill the msi_desc array.\n\nWe need to be able to get from an irq number to a struct msi_desc.\nThe msi_desc array in msi.c had several short comings the big one was\nthat it could not be used outside of msi.c.  Using irq_data in struct\nirq_desc almost worked except on some architectures irq_data needs to\nbe used for something else.\n\nSo this patch adds a msi_desc pointer to irq_desc, adds the appropriate\nwrappers and changes all of the msi code to use them.\n\nThe dynamic_irq_init/cleanup code was tweaked to ensure the new\nfield is left in a well defined state.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8528b0f1de1101c6002036fd53638fb21111d0ea",
      "tree": "fd4c21fbf54ae23b2edaf3ccd1d4423a55f2a14f",
      "parents": [
        "d227e87e6c939c6071def92bc7691ad774c733ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 23 14:16:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 23 14:16:31 2007 -0800"
      },
      "message": "Clear spurious irq stat information when adding irq handler\n\nAny newly added irq handler may obviously make any old spurious irq\nstatus invalid, since the new handler may well be the thing that is\nsupposed to handle any interrupts that came in.\n\nSo just clear the statistics when adding handlers.\n\nPointed-out-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "343cde51b3b856470eea24a89f00166b8e2d7272",
      "tree": "4810d97be6827887f734d754399c171c1a68b9f5",
      "parents": [
        "7c8809aef0c71cc92ffc7d922e8824c04a36f44b"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Thu Jan 11 01:52:44 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Jan 11 01:52:44 2007 +0100"
      },
      "message": "[PATCH] x86-64: Make noirqdebug_setup function non init to fix modpost warning\n\no noirqdebug_setup() is __init but it is being called by\n  quirk_intel_irqbalance() which if of type __devinit. If CONFIG_HOTPLUG\u003dy,\n  quirk_intel_irqbalance() is put into text section and it is wrong to\n  call a function in __init section.\n\no MODPOST flags this on i386 if CONFIG_RELOCATABLE\u003dy\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:noirqdebug_setup from .text between \u0027quirk_intel_irqbalance\u0027 (at offset 0xc010969e) and \u0027i8237A_suspend\u0027\n\no Make noirqdebug_setup() non-init.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9d7ac8be4b48737ad1cebd94ed754a269f360708",
      "tree": "a6f57e44a3a5fa993145f9bf6a9af7dc8f481623",
      "parents": [
        "e903387f1ebe3a7ddb93cd49c38341d3632df528"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 22 01:08:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 22 08:55:48 2006 -0800"
      },
      "message": "[PATCH] genirq: fix irq flow handler uninstall\n\nThe sanity check for no_irq_chip in __set_irq_hander() is unconditional on\nboth install and uninstall of an handler.  This triggers false warnings and\nreplaces no_irq_chip by dummy_irq_chip in the uninstall case.\n\nCheck only, when a real handler is installed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Sylvain Munaut \u003ctnt@246tNt.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b039db8eeab0b3cee66dcf9820526dd9cfb04f6b",
      "tree": "769b176e2904b0db21c2c8a29bdd8c97de8b7da3",
      "parents": [
        "4604096768d3be37ee1a05aee424aceed3e1b56f"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Dec 20 15:59:48 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 21 00:08:27 2006 -0800"
      },
      "message": "[PATCH] __set_irq_handler bogus space\n\n__set_irq_handler: Kill a bogus space\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e2ac66470976ad7f57e0948572669b2bdfea2d0",
      "tree": "aa1e9c2888bae27d96363c5458a871a4c39cbfd2",
      "parents": [
        "aad094701c6355cb2b3d74a07ec0496f4a48c787"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Fri Dec 08 02:35:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:37 2006 -0800"
      },
      "message": "[PATCH] CPEI gets warning at kernel/irq/migration.c:27/move_masked_irq()\n\nWhile running my MCA test (hardware error injection) on 2.6.19,\nI got some warning like following:\n\n\u003e BUG: warning at kernel/irq/migration.c:27/move_masked_irq()\n\u003e\n\u003e Call Trace:\n\u003e  [\u003ca000000100013d20\u003e] show_stack+0x40/0xa0\n\u003e                                 sp\u003de00000006b2578d0 bsp\u003de00000006b2510b0\n\u003e  [\u003ca000000100013db0\u003e] dump_stack+0x30/0x60\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251098\n\u003e  [\u003ca0000001000de430\u003e] move_masked_irq+0xb0/0x240\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251070\n\u003e  [\u003ca0000001000de6a0\u003e] move_native_irq+0xe0/0x180\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251040\n\u003e  [\u003ca00000010004ff50\u003e] iosapic_end_level_irq+0x30/0xe0\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251020\n\u003e  [\u003ca0000001000d94d0\u003e] __do_IRQ+0x170/0x400\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b250fd8\n\u003e  [\u003ca0000001000116f0\u003e] ia64_handle_irq+0x1b0/0x260\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b250fa8\n\u003e  [\u003ca00000010000c3a0\u003e] ia64_leave_kernel+0x0/0x280\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b250fa8\n\u003e  [\u003ca000000100690cf0\u003e] _spin_unlock_irqrestore+0x30/0x60\n\u003e                                 sp\u003de00000006b257c70 bsp\u003de00000006b250f90\n\nIt comes from:\n\n[kernel/irq/migration.c]\n  26         if (CHECK_IRQ_PER_CPU(desc-\u003estatus)) {\n  27                 WARN_ON(1);\n  28                 return;\n  29         }\n\nBy putting some printk in kernel, I found that irqbalance is trying to\nmove CPEI which is handled as PER_CPU irq. That\u0027s why.\n\nCPEI(Corrected Platform Error Interrupt) is ia64 specific irq, is\nallowed to pin to particular processor which selected by the platform, and\neven it is PER_CPU but it has set_affinity handler (\u003diosapic_set_affinity)\nas same as other IO-SAPIC-level interrupts. (I don\u0027t know why, but\nI guess that there would be typical situation where the handler for\nmigration is needed, such as hotplug - the processor going to be\noffline/hot-removed.)\n\nTo shut up this warning, there are 2 way at least:\n a) fix CPEI stuff\n b) prohibit setting affinity to PER_CPU irq\n\nI\u0027m not sure what stuff of CPEI need to be fixed, but I think that\nreturning error to attempting move PER_CPU irq is useful for all\napplications since it will never work.\n\nFollowing small patch takes b) style.\nIt works, the warning disappeared and irqbalance still runs well.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6cfd76a26d9fe2ba54b9d496a48c1d9285e5c5ed",
      "tree": "1114a0630c5045d0650c6d78a8097fdea6f94d8e",
      "parents": [
        "a4c410f00f7ca4bd448b0d63f6f882fd244dc991"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:37:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:36 2006 -0800"
      },
      "message": "[PATCH] lockdep: name some old style locks\n\nName some of the remaning \u0027old_style_spin_init\u0027 locks\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\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": "b42172fc7b569a0ef2b0fa38d71382969074c0e2",
      "tree": "2fe6141c936421d339a9443a6ad6af4dd4d2386b",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Nov 22 09:32:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Nov 22 09:32:06 2006 -0800"
      },
      "message": "Don\u0027t call \"note_interrupt()\" with irq descriptor lock held\n\nThis reverts commit f72fa707604c015a6625e80f269506032d5430dc, and solves\nthe problem that it tried to fix by simply making \"__do_IRQ()\" call the\nnote_interrupt() function without the lock held, the way everybody else\ndoes.\n\nIt should be noted that all interrupt handling code must never allow the\ndescriptor actors to be entered \"recursively\" (that\u0027s why we do all the\nmagic IRQ_PENDING stuff in the first place), so there actually is\nexclusion at that much higher level, even in the absense of locking.\n\nAcked-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nAcked-by:Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b86432b42eba5671969a9e6483ee219674b7ee25",
      "tree": "78b33862865d7ae6d122b3e58c4ae7133491ed0b",
      "parents": [
        "b48f5457b4e9d64d9c1117a4ece247d98b4db49f"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Nov 16 01:19:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Nov 16 11:43:37 2006 -0800"
      },
      "message": "[PATCH] some irq_chip variables point to NULL\n\nI got an oops when booting 2.6.19-rc5-mm1 on my ia64 machine.\n\nBelow is the log.\n\nOops 11012296146944 [1]\nModules linked in: binfmt_misc dm_mirror dm_multipath dm_mod thermal processor f\nan container button sg eepro100 e100 mii\n\nPid: 0, CPU 0, comm:              swapper\npsr : 0000121008022038 ifs : 800000000000040b ip  : [\u003ca0000001000e1411\u003e]    Not\ntainted\nip is at __do_IRQ+0x371/0x3e0\nunat: 0000000000000000 pfs : 000000000000040b rsc : 0000000000000003\nrnat: 656960155aa56aa5 bsps: a00000010058b890 pr  : 656960155aa55a65\nldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c0270033f\ncsd : 0000000000000000 ssd : 0000000000000000\nb0  : a0000001000e1390 b6  : a0000001005beac0 b7  : e00000007f01aa00\nf6  : 000000000000000000000 f7  : 0ffe69090000000000000\nf8  : 1000a9090000000000000 f9  : 0ffff8000000000000000\nf10 : 1000a908ffffff6f70000 f11 : 1003e0000000000000909\nr1  : a000000100fbbff0 r2  : 0000000000010002 r3  : 0000000000010001\nr8  : fffffffffffbffff r9  : a000000100bd8060 r10 : a000000100dd83b8\nr11 : fffffffffffeffff r12 : a000000100bcbbb0 r13 : a000000100bc4000\nr14 : 0000000000010000 r15 : 0000000000010000 r16 : a000000100c01aa8\nr17 : a000000100d2c350 r18 : 0000000000000000 r19 : a000000100d2c300\nr20 : a000000100c01a88 r21 : 0000000080010100 r22 : a000000100c01ac0\nr23 : a0000001000108e0 r24 : e000000477980004 r25 : 0000000000000000\nr26 : 0000000000000000 r27 : e00000000913400c r28 : e0000004799ee51c\nr29 : e0000004778b87f0 r30 : a000000100d2c300 r31 : a00000010005c7e0\n\nCall Trace:\n [\u003ca000000100014600\u003e] show_stack+0x40/0xa0\n                                sp\u003da000000100bcb760 bsp\u003da000000100bc4f40\n [\u003ca000000100014f00\u003e] show_regs+0x840/0x880\n                                sp\u003da000000100bcb930 bsp\u003da000000100bc4ee8\n [\u003ca000000100037fb0\u003e] die+0x250/0x320\n                                sp\u003da000000100bcb930 bsp\u003da000000100bc4ea0\n [\u003ca00000010005e5f0\u003e] ia64_do_page_fault+0x8d0/0xa20\n                                sp\u003da000000100bcb950 bsp\u003da000000100bc4e50\n [\u003ca00000010000caa0\u003e] ia64_leave_kernel+0x0/0x290\n                                sp\u003da000000100bcb9e0 bsp\u003da000000100bc4e50\n [\u003ca0000001000e1410\u003e] __do_IRQ+0x370/0x3e0\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4df0\n [\u003ca000000100011f50\u003e] ia64_handle_irq+0x170/0x220\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4dc0\n [\u003ca00000010000caa0\u003e] ia64_leave_kernel+0x0/0x290\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4dc0\n [\u003ca000000100012390\u003e] ia64_pal_call_static+0x90/0xc0\n                                sp\u003da000000100bcbd80 bsp\u003da000000100bc4d78\n [\u003ca000000100015630\u003e] default_idle+0x90/0x160\n                                sp\u003da000000100bcbd80 bsp\u003da000000100bc4d58\n [\u003ca000000100014290\u003e] cpu_idle+0x1f0/0x440\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4d18\n [\u003ca000000100009980\u003e] rest_init+0xc0/0xe0\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4d00\n [\u003ca0000001009f8ea0\u003e] start_kernel+0x6a0/0x6c0\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4ca0\n [\u003ca0000001000089f0\u003e] __end_ivt_text+0x6d0/0x6f0\n                                sp\u003da000000100bcbe30 bsp\u003da000000100bc4c00\n \u003c0\u003eKernel panic - not syncing: Aiee, killing interrupt handler!\n\nThe root cause is that some irq_chip variables, especially ia64_msi_chip,\ninitiate their memeber end to point to NULL. __do_IRQ doesn\u0027t check\nif irq_chip-\u003eend is null and just calls it after processing the interrupt.\n\nAs irq_chip-\u003eend is called at many places, so I fix it by reinitiating\nirq_chip-\u003eend to dummy_irq_chip.end, e.g., a noop function.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b126b77536186eef69d408eb7959ce7f558f251",
      "tree": "09d29a919c92af36151c3d97ba6bf2e182ee6acb",
      "parents": [
        "0579e303553655245e8a6616bd8b4428b07d63a2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Nov 14 02:03:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Tue Nov 14 09:09:26 2006 -0800"
      },
      "message": "[PATCH] setup_irq(): better mismatch debugging\n\nWhen we get a mismatch between handlers on the same IRQ, all we get is \"IRQ\nhandler type mismatch for IRQ n\".  Let\u0027s print the name of the\npresently-registered handler with which we got the mismatch.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f72fa707604c015a6625e80f269506032d5430dc",
      "tree": "d7701d7a0e6fef020e78f690041486a052bc9bb3",
      "parents": [
        "0130b0b32ee53dc7add773fcea984f6a26ef1da3"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Fri Nov 10 12:27:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 13 07:40:43 2006 -0800"
      },
      "message": "[PATCH] Fix misrouted interrupts deadlocks\n\nWhile testing kernel on machine with \"irqpoll\" option I\u0027ve caught such a\nlockup:\n\n\t__do_IRQ()\n\t   spin_lock(\u0026desc-\u003elock);\n           desc-\u003echip-\u003eack(); /* IRQ is ACKed */\n\tnote_interrupt()\n\tmisrouted_irq()\n\thandle_IRQ_event()\n           if (...)\n\t      local_irq_enable_in_hardirq();\n\t/* interrupts are enabled from now */\n\t...\n\t__do_IRQ() /* same IRQ we\u0027ve started from */\n\t   spin_lock(\u0026desc-\u003elock); /* LOCKUP */\n\nLooking at misrouted_irq() code I\u0027ve found that a potential deadlock like\nthis can also take place:\n\n1CPU:\n__do_IRQ()\n   spin_lock(\u0026desc-\u003elock); /* irq \u003d A */\nmisrouted_irq()\n   for (i \u003d 1; i \u003c NR_IRQS; i++) {\n      spin_lock(\u0026desc-\u003elock); /* irq \u003d B */\n      if (desc-\u003estatus \u0026 IRQ_INPROGRESS) {\n\n2CPU:\n__do_IRQ()\n   spin_lock(\u0026desc-\u003elock); /* irq \u003d B */\nmisrouted_irq()\n   for (i \u003d 1; i \u003c NR_IRQS; i++) {\n      spin_lock(\u0026desc-\u003elock); /* irq \u003d A */\n      if (desc-\u003estatus \u0026 IRQ_INPROGRESS) {\n\nAs the second lock on both CPUs is taken before checking that this irq is\nbeing handled in another processor this may cause a deadlock.  This issue\nis only theoretical.\n\nI propose the attached patch to fix booth problems: when trying to handle\nmisrouted IRQ active desc-\u003elock may be unlocked.\n\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a460e745e8f9c75a0525ff94154a0629f9d3e05d",
      "tree": "38ef71d81c2ca2f979319b0a91f34f0cf9998643",
      "parents": [
        "308ba5fcf89b6e328f9290067181c1e4d772fdc9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 17 00:10:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:45 2006 -0700"
      },
      "message": "[PATCH] genirq: clean up irq-flow-type naming\n\nIntroduce desc-\u003ename and eliminate the handle_irq_name() hack.  Add\nset_irq_chip_and_handler_name() to set the flow type and name at once.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01a3ee2b203e511e20f98b85a9172fd32c53e87c",
      "tree": "0dd90d81dc86f231828af23bdb97522405b06cab",
      "parents": [
        "39484e53bb00f55b6303a908070db133608ef2a5"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@linux.intel.com",
        "time": "Wed Oct 11 01:21:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:22 2006 -0700"
      },
      "message": "[PATCH] bitmap: parse input from kernel and user buffers\n\nlib/bitmap.c:bitmap_parse() is a library function that received as input a\nuser buffer.  This seemed to have originated from the way the write_proc\nfunction of the /proc filesystem operates.\n\nThis has been reworked to not use kmalloc and eliminates a lot of\nget_user() overhead by performing one access_ok before using __get_user().\n\nWe need to test if we are in kernel or user space (is_user) and access the\nbuffer differently.  We cannot use __get_user() to access kernel addresses\nin all cases, for example in architectures with separate address space for\nkernel and user.\n\nThis function will be useful for other uses as well; for example, taking\ninput for /sysfs instead of /proc, so it was changed to accept kernel\nbuffers.  We have this use for the Linux UWB project, as part as the\nupcoming bandwidth allocator code.\n\nOnly a few routines used this function and they were changed too.\n\nSigned-off-by: Reinette Chatre \u003creinette.chatre@linux.intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "da482792a6d1a3fbaaa25fae867b343fb4db3246",
      "tree": "138c187e669bbaf997780a999299fbc977568e1c",
      "parents": [
        "57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 13:06:34 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 13:28:27 2006 +0100"
      },
      "message": "IRQ: Typedef the IRQ handler function type\n\nTypedef the IRQ handler function type.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1356d1e5fd256997e3d3dce0777ab787d0515c7a commit)\n"
    },
    {
      "commit": "57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f",
      "tree": "35603f6385edf3dcd20e80a2fcf4c66c7cdc34a7",
      "parents": [
        "d223a60106891bfe46febfacf46b20cd8509aaad"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 13:06:34 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 13:28:06 2006 +0100"
      },
      "message": "IRQ: Typedef the IRQ flow handler function type\n\nTypedef the IRQ flow handler function type.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 8e973fbdf5716b93a0a8c0365be33a31ca0fa351 commit)\n"
    },
    {
      "commit": "1f80025e624bb14fefadfef7e80fbfb9740d4714",
      "tree": "1d6f18ebd2855e882213922036d8df8cd7e88db4",
      "parents": [
        "8b955b0dddb35e398b07e217a81f8bd49400796f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] msi: simplify msi sanity checks by adding with generic irq code\n\nCurrently msi.c is doing sanity checks that make certain before an irq is\ndestroyed it has no more users.\n\nBy adding irq_has_action I can perform the test is a generic way, instead of\nrelying on a msi specific data structure.\n\nBy performing the core check in dynamic_irq_cleanup I ensure every user of\ndynamic irqs has a test present and we don\u0027t free resources that are in use.\n\nIn msi.c this allows me to kill the attrib.state member of msi_desc and all of\nthe assciated code to maintain it.\n\nTo keep from freeing data structures when irq cleanup code is called to soon\nchanging dyanamic_irq_cleanup is insufficient because there are msi specific\ndata structures that are also not safe to free.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a16d713626735f3016da0521b7bf251cd78e836",
      "tree": "39147d40b681391a578b19fceb50dfe5a7a4a1ab",
      "parents": [
        "92db6d10bc1bc43330a4c540fa5b64c83d9d865f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: add a dynamic irq creation API\n\nWith the msi support comes a new concept in irq handling, irqs that are\ncreated dynamically at run time.\n\nCurrently the msi code allocates irqs backwards.  First it allocates a\nplatform dependent routing value for an interrupt the ``vector\u0027\u0027 and then it\nfigures out from the vector which irq you are on.\n\nThis msi backwards allocator suffers from two basic problems.  The allocator\nsuffers because it is trying to do something that is architecture specific in\na generic way making it brittle, inflexible, and tied to tightly to the\narchitecture implementation.  The alloctor also suffers from it\u0027s very\nbackwards nature as it has tied things together that should have no\ndependencies.\n\nTo solve the basic dynamic irq allocation problem two new architecture\nspecific functions are added: create_irq and destroy_irq.\n\ncreate_irq takes no input and returns an unused irq number, that won\u0027t be\nreused until it is returned to the free poll with destroy_irq.  The irq then\ncan be used for any purpose although the only initial consumer is the msi\ncode.\n\ndestroy_irq takes an irq number allocated with create_irq and returns it to\nthe free pool.\n\nMaking this functionality per architecture increases the simplicity of the irq\nallocation code and increases it\u0027s flexibility.\n\ndynamic_irq_init() and dynamic_irq_cleanup() are added to automate the\nirq_desc initializtion that should happen for dynamic irqs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7b946e98a456077dd6897f726f3d6197bd7e3b9",
      "tree": "bb76eb06edcef981540774d638a1bd7eaef690ee",
      "parents": [
        "a24ceab4f44f21749aa0b6bd38bee37c775e036f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: add moved_masked_irq\n\nCurrently move_native_irq disables and renables the irq we are migrating to\nensure we don\u0027t take that irq when we are actually doing the migration\noperation.  Disabling the irq needs to happen but sometimes doing the work is\nmove_native_irq is too late.\n\nOn x86 with ioapics the irq move sequences needs to be:\nedge_triggered:\n  mask irq.\n  move irq.\n  unmask irq.\n  ack irq.\nlevel_triggered:\n  mask irq.\n  ack irq.\n  move irq.\n  unmask irq.\n\nWe can easily perform the edge triggered sequence, with the current defintion\nof move_native_irq.  However the level triggered case does not map well.  For\nthat I have added move_masked_irq, to allow me to disable the irqs around both\nthe ack and the move.\n\nQ: Why have we not seen this problem earlier?\n\nA: The only symptom I have been able to reproduce is that if we change\n   the vector before acknowleding an irq the wrong irq is acknowledged.\n   Since we currently are not reprogramming the irq vector during\n   migration no problems show up.\n\n   We have to mask the irq before we acknowledge the irq or else we could\n   hit a window where an irq is asserted just before we acknowledge it.\n\n   Edge triggered irqs do not have this problem because acknowledgements\n   do not propogate in the same way.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a24ceab4f44f21749aa0b6bd38bee37c775e036f",
      "tree": "d33625ff3b5f7a7b9b90a6e0e765ad19bfd00195",
      "parents": [
        "f5b9ed7acdcfea4bf73a70dececa7483787503ed"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: convert the move_irq flag from a 32bit word to a single bit\n\nThe primary aim of this patchset is to remove maintenances problems caused by\nthe irq infrastructure.  The two big issues I address are an artificially\nsmall cap on the number of irqs, and that MSI assumes vector \u003d\u003d irq.  My\nprimary focus is on x86_64 but I have touched other architectures where\nnecessary to keep them from breaking.\n\n- To increase the number of irqs I modify the code to look at the (cpu,\n  vector) pair instead of just looking at the vector.\n\n  With a large number of irqs available systems with a large irq count no\n  longer need to compress their irq numbers to fit.  Removing a lot of brittle\n  special cases.\n\n  For acpi guys the result is that irq \u003d\u003d gsi.\n\n- Addressing the fact that MSI assumes irq \u003d\u003d vector takes a few more\n  patches.  But suffice it to say when I am done none of the generic irq code\n  even knows what a vector is.\n\nIn quick testing on a large Unisys x86_64 machine we stumbled over at least\none driver that assumed that NR_IRQS could always fit into an 8 bit number.\nThis driver is clearly buggy today.  But this has become a class of bugs that\nit is now much easier to hit.\n\nThis patch:\n\nThis is a minor space optimization.  In practice I don\u0027t think this has any\naffect because of our alignment constraints and the other fields but there is\nnot point in chewing up an uncessary word and since we already read the flag\nfield this should improve the cache hit ratio of the irq handler.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "538d9d532b0e0320c9dd326a560b5a72d73f910d",
      "tree": "ad41d9ddc79aa74eceb806f6d207cea479c06608",
      "parents": [
        "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: remove a extra line\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028",
      "tree": "c6a3f085b6bbba80f468eab68e04477e42194232",
      "parents": [
        "42012cc4a2183c555a907eee32d7ce4fc7dc3a6a"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: fixed coding style\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "af8c65b57aaa4ae321af34dbfc5ca7f5625263fe",
      "tree": "404b7054e52f8cd0a4347649cae8b5ab82fec357",
      "parents": [
        "88d6e19900366781739df033e9c0e2532e715fa5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 25 23:32:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:53 2006 -0700"
      },
      "message": "[PATCH] FRV: permit __do_IRQ() to be dispensed with\n\nPermit __do_IRQ() to be dispensed with based on a configuration option.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: 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": "86998aa6534e839ec003ed2ef7067d6fe8696ccc",
      "tree": "ca2e8fff9371ef26f339f2893c6c1d50c5f4e2fe",
      "parents": [
        "47a5c6fa0e204a2b63309c648bb2fde36836c826"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 19 11:14:34 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 19 07:57:20 2006 -0700"
      },
      "message": "[PATCH] genirq core: fix handle_level_irq()\n\nwhile porting the -rt tree to 2.6.18-rc7 i noticed the following\nscreaming-IRQ scenario on an SMP system:\n\n 2274  0Dn.:1 0.001ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.010ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.020ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.029ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.039ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.048ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.058ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.068ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.077ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.087ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.097ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n\nas it turns out, the bug is caused by handle_level_irq(), which if it\nraces with another CPU already handling this IRQ, it _unmasks_ the IRQ\nline on the way out. This is not how 2.6.17 works, and we introduced\nthis bug in one of the early genirq cleanups right before it went into\n-mm. (the bug was not in the genirq patchset for a long time, and we\ndidnt notice the bug due to the lack of -rt rebase to the new genirq\ncode. -rt, and hardirq-preemption in particular opens up such races much\nwider than anything else.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "43a1dd502f40fdb644402f64cd06cf8016cd9780",
      "tree": "24b6b285e528b0f48c9d70d11a3ba9a15cc47aba",
      "parents": [
        "290995fc3c06c0548ae303dd0b1371a8727f4fad"
      ],
      "author": {
        "name": "Henrik Kretzschmar",
        "email": "henne@nachtwindheim.de",
        "time": "Thu Aug 31 21:27:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 01 11:39:09 2006 -0700"
      },
      "message": "[PATCH] kerneldoc for handle_bad_irq()\n\nAdds the description of the parameters from handle_bad_irq().\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15a647eba94c3da27ccc666bea72e7cca06b2d19",
      "tree": "b4fbc1e78cb298a36d1106847be1433553d217c8",
      "parents": [
        "5e44ef238b7eb607532e89249e7b2523faf77a92"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 30 03:03:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:36 2006 -0700"
      },
      "message": "[PATCH] genirq: {en,dis}able_irq_wake() need refcounting too\n\nIRQs need refcounting and a state flag to track whether the the IRQ should\nbe enabled or disabled as a \"normal IRQ\" source after a series of calls to\n{en,dis}able_irq().  For shared IRQs, the IRQ must be enabled so long as at\nleast one driver needs it active.\n\nLikewise, IRQs need the same support to track whether the IRQ should be\nenabled or disabled as a \"wakeup event\" source after a series of calls to\n{en,dis}able_irq_wake().  For shared IRQs, the IRQ must be enabled as a\nwakeup source during sleep so long as at least one driver needs it.  But\nright now they _don\u0027t have_ that refcounting ...  which means sharing a\nwakeup-capable IRQ can\u0027t work correctly in some configurations.\n\nThis patch adds the refcount and flag mechanisms to set_irq_wake() -- which\nis what {en,dis}able_irq_wake() call -- and minimal documentation of what\nthe irq wake mechanism does.\n\nDrivers relying on the older (broken) \"toggle\" semantics will trigger a\nwarning; that\u0027ll be a handful of drivers on ARM systems.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "912b2539e1e062cec73e2e61448e507f7719bd08",
      "tree": "233807569ee5e0ab3118dd54c0ae9164fec8343e",
      "parents": [
        "70b97a7f0b19cf1f2619deb5cc41e8b78c591aa7",
        "39ab9c212aac48f2744f2fd7722fa639ec048eb7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:28:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:28:34 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  powerpc: add defconfig for Freescale MPC8349E-mITX board\n  powerpc: Add base support for the Freescale MPC8349E-mITX eval board\n  Documentation: correct values in MPC8548E SEC example node\n  [POWERPC] Actually copy over i8259.c to arch/ppc/syslib this time\n  [POWERPC] Add new interrupt mapping core and change platforms to use it\n  [POWERPC] Copy i8259 code back to arch/ppc\n  [POWERPC] New device-tree interrupt parsing code\n  [POWERPC] Use the genirq framework\n  [PATCH] genirq: Allow fasteoi handler to retrigger disabled interrupts\n  [POWERPC] Update the SWIM3 (powermac) floppy driver\n  [POWERPC] Fix error handling in detecting legacy serial ports\n  [POWERPC] Fix booting on Momentum \"Apache\" board (a Maple derivative)\n  [POWERPC] Fix various offb and BootX-related issues\n  [POWERPC] Add a default config for 32-bit CHRP machines\n  [POWERPC] fix implicit declaration on cell.\n  [POWERPC] change get_property to return void *\n"
    },
    {
      "commit": "366c7f554e888e51b8395f9b07b273fe775c7ff3",
      "tree": "324fab660758f1c5be4585ca2fcdb313feb53cef",
      "parents": [
        "0a9da4bd8eb30fb3f36e841c2cc72e426a17bbe2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:09 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate enable_in_hardirq()\n\nMake use of local_irq_enable_in_hardirq() API to annotate places that enable\nhardirqs in hardirq context.\n\nHas no effect on non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "243c7621aac4ed1aa79524c9a1cecf7c05a28124",
      "tree": "d8f7a1fce57c9349183bfd9ab6738a763078db85",
      "parents": [
        "8b8f319fc7f4ab59f567d6a401a62659b3d37007"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:06 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate genirq\n\nTeach special (recursive) locking code to the lock validator.  Has no effect\non non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbb9ce9530fd9b66096d5187fa6a115d16d9746c",
      "tree": "1151a55e5d56045bac17b9766e6a4696cff0a26f",
      "parents": [
        "cae2ed9aa573415c6e5de9a09b7ff0d74af793bc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:03 2006 -0700"
      },
      "message": "[PATCH] lockdep: core\n\nDo \u0027make oldconfig\u0027 and accept all the defaults for new config options -\nreboot into the kernel and if everything goes well it should boot up fine and\nyou should have /proc/lockdep and /proc/lockdep_stats files.\n\nTypically if the lock validator finds some problem it will print out\nvoluminous debug output that begins with \"BUG: ...\" and which syslog output\ncan be used by kernel developers to figure out the precise locking scenario.\n\nWhat does the lock validator do?  It \"observes\" and maps all locking rules as\nthey occur dynamically (as triggered by the kernel\u0027s natural use of spinlocks,\nrwlocks, mutexes and rwsems).  Whenever the lock validator subsystem detects a\nnew locking scenario, it validates this new rule against the existing set of\nrules.  If this new rule is consistent with the existing set of rules then the\nnew rule is added transparently and the kernel continues as normal.  If the\nnew rule could create a deadlock scenario then this condition is printed out.\n\nWhen determining validity of locking, all possible \"deadlock scenarios\" are\nconsidered: assuming arbitrary number of CPUs, arbitrary irq context and task\ncontext constellations, running arbitrary combinations of all the existing\nlocking scenarios.  In a typical system this means millions of separate\nscenarios.  This is why we call it a \"locking correctness\" validator - for all\nrules that are observed the lock validator proves it with mathematical\ncertainty that a deadlock could not occur (assuming that the lock validator\nimplementation itself is correct and its internal data structures are not\ncorrupted by some other kernel subsystem).  [see more details and conditionals\nof this statement in include/linux/lockdep.h and\nDocumentation/lockdep-design.txt]\n\nFurthermore, this \"all possible scenarios\" property of the validator also\nenables the finding of complex, highly unlikely multi-CPU multi-context races\nvia single single-context rules, increasing the likelyhood of finding bugs\ndrastically.  In practical terms: the lock validator already found a bug in\nthe upstream kernel that could only occur on systems with 3 or more CPUs, and\nwhich needed 3 very unlikely code sequences to occur at once on the 3 CPUs.\nThat bug was found and reported on a single-CPU system (!).  So in essence a\nrace will be found \"piecemail-wise\", triggering all the necessary components\nfor the race, without having to reproduce the race scenario itself!  In its\nshort existence the lock validator found and reported many bugs before they\nactually caused a real deadlock.\n\nTo further increase the efficiency of the validator, the mapping is not per\n\"lock instance\", but per \"lock-class\".  For example, all struct inode objects\nin the kernel have inode-\u003einotify_mutex.  If there are 10,000 inodes cached,\nthen there are 10,000 lock objects.  But -\u003einotify_mutex is a single \"lock\ntype\", and all locking activities that occur against -\u003einotify_mutex are\n\"unified\" into this single lock-class.  The advantage of the lock-class\napproach is that all historical -\u003einotify_mutex uses are mapped into a single\n(and as narrow as possible) set of locking rules - regardless of how many\ndifferent tasks or inode structures it took to build this set of rules.  The\nset of rules persist during the lifetime of the kernel.\n\nTo see the rough magnitude of checking that the lock validator does, here\u0027s a\nportion of /proc/lockdep_stats, fresh after bootup:\n\n lock-classes:                            694 [max: 2048]\n direct dependencies:                  1598 [max: 8192]\n indirect dependencies:               17896\n all direct dependencies:             16206\n dependency chains:                    1910 [max: 8192]\n in-hardirq chains:                      17\n in-softirq chains:                     105\n in-process chains:                    1065\n stack-trace entries:                 38761 [max: 131072]\n combined max dependencies:         2033928\n hardirq-safe locks:                     24\n hardirq-unsafe locks:                  176\n softirq-safe locks:                     53\n softirq-unsafe locks:                  137\n irq-safe locks:                         59\n irq-unsafe locks:                      176\n\nThe lock validator has observed 1598 actual single-thread locking patterns,\nand has validated all possible 2033928 distinct locking scenarios.\n\nMore details about the design of the lock validator can be found in\nDocumentation/lockdep-design.txt, which can also found at:\n\n   http://redhat.com/~mingo/lockdep-patches/lockdep-design.txt\n\n[bunk@stusta.de: cleanups]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a43a066b11ac2fe84cf67307f20b83bea390f83",
      "tree": "d4770958575f4e7592620d9a0d36c431ecceefc9",
      "parents": [
        "3e9a69275f23baec86b54febc5dad0b2fc7fb200"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 03 19:54:59 2006 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jul 03 19:54:59 2006 +1000"
      },
      "message": "[PATCH] genirq: Allow fasteoi handler to retrigger disabled interrupts\n\nMake the fasteoi handler mark disabled interrupts as pending if they\nhappen anyway. This allow implementation of a delayed disable scheme\nwith the fasteoi handler.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "284c66806eb6df7f5c66d298681f1abe81a5a9ab",
      "tree": "b6573efe262b85a5bd3cf3c2a7964214143125ed",
      "parents": [
        "52e405eaa9806968e88b35d65e57acad954a5ab5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 03 02:20:32 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 17:29:22 2006 -0700"
      },
      "message": "[PATCH] genirq:fixup missing SA_PERCPU replacement\n\nThe irqflags consolidation converted SA_PERCPU_IRQ to IRQF_PERCPU but\ndid not define the new constant.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d061daa0e3abdddc28e21a37c8ac4536dedbf239",
      "tree": "6c08e7b8ed988053f421e38578fa11db538b0747",
      "parents": [
        "f82bc1762e0e74b7e0040a4d83be06d32c37fc2e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 03 02:18:48 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 17:29:21 2006 -0700"
      },
      "message": "[PATCH] genirq: ARM dyntick cleanup\n\nLinus: \"The hacks in kernel/irq/handle.c are really horrid. REALLY\nhorrid.\"\n\nThey are indeed. Move the dyntick quirks to ARM where they belong.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4b9034132c7e1e4474999e688dd7d03b7d97a99",
      "tree": "c02c571b9e0e59b9ffa18baae23c83f09ff07adb",
      "parents": [
        "a8c4c20dfa8b28a3c99e33c639d9c2ea5657741e",
        "07d265dd59456f702b7d2a1ac471f06ee4adc9ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 15:07:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 15:07:45 2006 -0700"
      },
      "message": "Merge branch \u0027genirq\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027genirq\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (24 commits)\n  [ARM] 3683/2:  ARM: Convert at91rm9200 to generic irq handling\n  [ARM] 3682/2:  ARM: Convert ixp4xx to generic irq handling\n  [ARM] 3702/1: ARM: Convert ixp23xx to generic irq handling\n  [ARM] 3701/1: ARM: Convert plat-omap to generic irq handling\n  [ARM] 3700/1: ARM: Convert lh7a40x to generic irq handling\n  [ARM] 3699/1: ARM: Convert s3c2410 to generic irq handling\n  [ARM] 3698/1: ARM: Convert sa1100 to generic irq handling\n  [ARM] 3697/1: ARM: Convert shark to generic irq handling\n  [ARM] 3696/1: ARM: Convert clps711x to generic irq handling\n  [ARM] 3694/1: ARM: Convert ecard driver to generic irq handling\n  [ARM] 3693/1: ARM: Convert omap1 to generic irq handling\n  [ARM] 3691/1: ARM: Convert imx to generic irq handling\n  [ARM] 3688/1: ARM: Convert clps7500 to generic irq handling\n  [ARM] 3687/1: ARM: Convert integrator to generic irq handling\n  [ARM] 3685/1: ARM: Convert pxa to generic irq handling\n  [ARM] 3684/1: ARM: Convert l7200 to generic irq handling\n  [ARM] 3681/1: ARM: Convert ixp2000 to generic irq handling\n  [ARM] 3680/1: ARM: Convert footbridge to generic irq handling\n  [ARM] 3695/1: ARM drivers/pcmcia: Fixup includes\n  [ARM] 3689/1: ARM drivers/input/touchscreen: Fixup includes\n  ...\n\nManual conflict resolved in kernel/irq/handle.c (butt-ugly ARM tickless\ncode).\n"
    },
    {
      "commit": "3cca53b02a5bab0f407b1add2f84c22c20243a79",
      "tree": "06d375432c8c5c8895378e0b5049920e73211b2d",
      "parents": [
        "85ac3ab254405edcc7bef7d61b03930247882efc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 19:29:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 13:58:49 2006 -0700"
      },
      "message": "[PATCH] irq-flags: generic irq: Use the new IRQF_ constants\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8b5473fcbddbfde827ecf82aa0e81fa2a878220",
      "tree": "0d6d504f95830610cb2c2fb1e6e9e1ebf932762b",
      "parents": [
        "a2166abd06e7a9fd34eb18b7b27da18c6146e6ef"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "message": "[ARM] 3690/1: genirq: Introduce and make use of dummy irq chip\n\nPatch from Thomas Gleixner\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nARM has a couple of really dumb interrupt controllers.\nImplement a generic one and fixup the ARM migration. ARM reused\nthe no_irq_chip for this purpose, but this does not work out\nfor platforms which are not converted to the new interrupt\ntype handling model.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a2166abd06e7a9fd34eb18b7b27da18c6146e6ef",
      "tree": "42071bca4f8e53295c2c5ce50db43e86a3d4fc37",
      "parents": [
        "9262e9149f346a5443300f8c451b8e7631e81a42"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 22:30:07 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jul 01 22:30:07 2006 +0100"
      },
      "message": "[ARM] 3679/1: ARM: Make ARM dyntick implementation work with genirq\n\nPatch from Thomas Gleixner\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nMake the ARM dyntick implementation work with the generic\nirq code. This hopefully goes away once we consolidated the\ndyntick implementations.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e8c4b9d003e72199a705fb5a40fcd2487fa16933",
      "tree": "e1bad5c0ba134e55c1e22921a96eabf348c305c0",
      "parents": [
        "17311c03c3e2c16d64d9e8cb2a3f45be2e2f8d3b"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Sat Jul 01 04:35:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:55:57 2006 -0700"
      },
      "message": "[PATCH] IRQ: warning message cleanup\n\nMake warnings more consistent.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: 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": "17311c03c3e2c16d64d9e8cb2a3f45be2e2f8d3b",
      "tree": "69e3f1f22323f0399c953584439b48ead7d2d5a8",
      "parents": [
        "ed6f7b10e657b98b4ba89385d02852c8bdf3980e"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Sat Jul 01 04:35:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:55:57 2006 -0700"
      },
      "message": "[PATCH] IRQ: Use SA_PERCPU_IRQ, not IRQ_PER_CPU, for irqaction.flags\n\nIRQ_PER_CPU is a bit in the struct irq_desc \"status\" field, not in the\nstruct irqaction \"flags\", so the previous code checked the wrong bit.\n\nSA_PERCPU_IRQ is only used by drivers/char/mmtimer.c for SGI ia64 boxes.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "47c2a3aa4475d27073dd3c7e183fcc13f495c8f5",
      "tree": "d151e03da804103753977c2c94e17b71104e3d35",
      "parents": [
        "f702d7013c7470284843a6370aaa53b8b75c5a40"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:25:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:26 2006 -0700"
      },
      "message": "[PATCH] genirq: add chip-\u003eeoi(), fastack -\u003e fasteoi\n\nClean up the fastack concept by turning it into fasteoi and introducing the\n-\u003eeoi() method for chips.\n\nThis also allows the cleanup of an i386 EOI quirk - now the quirk is\ncleanly separated from the pure ACK implementation.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98bb244b685eb2a297aa60fa2e5c0631f95828e1",
      "tree": "468ab2cf22dc3b10d1bc48660360b908d24cabef",
      "parents": [
        "f210be198ddd3f54b17d4aa6e69b829f75f226e5"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 29 02:25:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: fasteoi handler: handle interrupt disabling\n\nNote when a disable interrupt happened with the fasteoi handler as well so\nthat delayed disable can be implemented with fasteoi-type controllers.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "43f7775944e40221827e4b3aec43824aa4c4e4a9",
      "tree": "842490e2fe78b8676741d1b012a4256c2224685c",
      "parents": [
        "f1c2662cbc6a0a9772655649bdf579803d33470b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: more verbose debugging on unexpected IRQ vectors\n\nOne frequent sign of IRQ handling bugs is the appearance of unexpected\nvectors.  Print out all the IRQ state in that case.  We dont want this patch\nupstream, but it is useful during initial testing.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1c2662cbc6a0a9772655649bdf579803d33470b",
      "tree": "ab6d0cc97527941e038edf0532f3917fca0953f8",
      "parents": [
        "e76de9f8eb67b7acc1cc6f28c4be8583adf0a90c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: no_irq_type -\u003e no_irq_chip rename\n\nRename no_irq_type to no_irq_chip.\n\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": "e76de9f8eb67b7acc1cc6f28c4be8583adf0a90c",
      "tree": "b2c1c4f58f11772880a48c63c1138fe3b2787c9c",
      "parents": [
        "ba9a2331bae5da8f65be3722b9e2d210f1987857"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add SA_TRIGGER support\n\nEnable drivers to request an IRQ with a given irq-flow (trigger/polarity)\nsetting.\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": "ba9a2331bae5da8f65be3722b9e2d210f1987857",
      "tree": "ca7cf6a1cfcab2fc4423eb38832236cfb627eaf2",
      "parents": [
        "7a55713ab456d267815fd5ca3c3d0fd14301f306"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add irq-wake (power-management) support\n\nEnable platforms to set the irq-wake (power-management) properties of an IRQ.\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": "7a55713ab456d267815fd5ca3c3d0fd14301f306",
      "tree": "a318479efa070eb912fa3dd43738d2b1ae252837",
      "parents": [
        "dd87eb3a24c4527741122713e223d74b85d43c85"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add handle_bad_irq()\n\nHandle bad IRQ vectors via the irqchip mechanism.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd87eb3a24c4527741122713e223d74b85d43c85",
      "tree": "0c3796af23da908515d890a7b8fde37893eb3b2a",
      "parents": [
        "dae8620421833bb2e9a01c4ccc42bdc3759b81df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add irq-chip support\n\nEnable platforms to use the irq-chip and irq-flow abstractions: allow setting\nof the chip, the type and provide highlevel handlers for common irq-flows.\n\n[rostedt@goodmis.org: misroute-irq: Don\u0027t call desc-\u003echip-\u003eend because of edge interrupts]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\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": "a34db9b28a1c63317e1d6f1080a12d711579e7d0",
      "tree": "5b4f604cb80fff6f662e407042390941cf9182c9",
      "parents": [
        "94d39e1f6e8132ea982a1d61acbe0423d3d14365"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: update copyrights\n\nUpdate/add copyrights in the generic IRQ code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "94d39e1f6e8132ea982a1d61acbe0423d3d14365",
      "tree": "68ba3666c1d2c0805089e8ffdb47da961a760450",
      "parents": [
        "6550c775cb5ee94c132d93d84de3bb23f0abf37b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add IRQ_NOAUTOEN support\n\nEnable platforms to disable the automatic enabling of freshly set up irqs.\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": "6550c775cb5ee94c132d93d84de3bb23f0abf37b",
      "tree": "818ae46cfe30265bbecc095262de53e9c8dcb012",
      "parents": [
        "3418d72404e35eb19e7995cbf3e7a76ba8fefbce"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add IRQ_NOREQUEST support\n\nEnable platforms to disable request_irq() for certain interrupts.\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": "3418d72404e35eb19e7995cbf3e7a76ba8fefbce",
      "tree": "08e727f94d4ff31410730d5d42119b3520ad10ca",
      "parents": [
        "a4633adcdbc15ac51afcd0e1395de58cee27cf92"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add IRQ_NOPROBE support\n\nIntroduce IRQ_NOPROBE: enables platforms to control chip-probing.\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"
    }
  ],
  "next": "a4633adcdbc15ac51afcd0e1395de58cee27cf92"
}
