<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/kernel/irq/manage.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-02-24T22:54:40Z</updated>
<entry>
<title>genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now</title>
<updated>2011-02-24T22:54:40Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2011-02-18T22:27:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d68e33163fe5801ce882824968fd4ec261d47af0'/>
<id>urn:sha1:d68e33163fe5801ce882824968fd4ec261d47af0</id>
<content type='text'>
commit 6d83f94db95cfe65d2a6359cccdf61cf087c2598 upstream.

With CONFIG_SHIRQ_DEBUG=y we call a newly installed interrupt handler
in request_threaded_irq().

The original implementation (commit a304e1b8) called the handler
_BEFORE_ it was installed, but that caused problems with handlers
calling disable_irq_nosync(). See commit 377bf1e4.

It's braindead in the first place to call disable_irq_nosync in shared
handlers, but ....

Moving this call after we installed the handler looks innocent, but it
is very subtle broken on SMP.

Interrupt handlers rely on the fact, that the irq core prevents
reentrancy.

Now this debug call violates that promise because we run the handler
w/o the IRQ_INPROGRESS protection - which we cannot apply here because
that would result in a possibly forever masked interrupt line.

A concurrent real hardware interrupt on a different CPU results in
handler reentrancy and can lead to complete wreckage, which was
unfortunately observed in reality and took a fricking long time to
debug.

Leave the code here for now. We want this debug feature, but that's
not easy to fix. We really should get rid of those
disable_irq_nosync() abusers and remove that function completely.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Arjan van de Ven &lt;arjan@infradead.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>genirq: Warn if enable_irq is called before irq is set up</title>
<updated>2010-10-22T14:10:29Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-10-22T12:47:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2656c36699677238edc9ec1fea79039f1fddbcb6'/>
<id>urn:sha1:2656c36699677238edc9ec1fea79039f1fddbcb6</id>
<content type='text'>
The recent changes in the genirq core unearthed a bug in arch/um which
called enable_irq() before the interrupt was set up.

Warn and return instead of crashing the machine with a NULL pointer
dereference.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>genirq: Provide compat handling for chip-&gt;set_wake()</title>
<updated>2010-10-04T10:43:48Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-09-27T12:45:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f7e99bb9be6a2d8d7b808dc86037710cc8b7bf1'/>
<id>urn:sha1:2f7e99bb9be6a2d8d7b808dc86037710cc8b7bf1</id>
<content type='text'>
Wrap the old chip function set_wake() until the migration is complete
and the old chip functions are removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
LKML-Reference: &lt;20100927121842.927527393@linutronix.de&gt;
Reviewed-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: Provide compat handling for chip-&gt;set_type()</title>
<updated>2010-10-04T10:43:47Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-09-27T12:45:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b2ba2c30033c10cca2454f8b44bf98f5249e61c6'/>
<id>urn:sha1:b2ba2c30033c10cca2454f8b44bf98f5249e61c6</id>
<content type='text'>
Wrap the old chip function set_type() until the migration is complete
and the old chip functions are removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
LKML-Reference: &lt;20100927121842.832261548@linutronix.de&gt;
Reviewed-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: Provide compat handling for chip-&gt;set_affinity()</title>
<updated>2010-10-04T10:43:46Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-09-27T12:45:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c96b3b3c448592a0b87ef20306deb8b1fb4878c7'/>
<id>urn:sha1:c96b3b3c448592a0b87ef20306deb8b1fb4878c7</id>
<content type='text'>
Wrap the old chip function set_affinity() until the migration is
complete and the old chip functions are removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
LKML-Reference: &lt;20100927121842.732894108@linutronix.de&gt;
Reviewed-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: Provide compat handling for chip-&gt;startup()</title>
<updated>2010-10-04T10:43:44Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-09-27T12:45:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=37e12df709f09eac17314d79a52190ac46746e33'/>
<id>urn:sha1:37e12df709f09eac17314d79a52190ac46746e33</id>
<content type='text'>
Wrap the old chip function startup() until the migration is complete and
the old chip functions are removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
LKML-Reference: &lt;20100927121842.635152961@linutronix.de&gt;
Reviewed-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: Provide compat handling for chip-&gt;disable()/shutdown()</title>
<updated>2010-10-04T10:43:43Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-09-27T12:45:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bc310dda41be6439364c8f3b9fe7c9d743d22b1c'/>
<id>urn:sha1:bc310dda41be6439364c8f3b9fe7c9d743d22b1c</id>
<content type='text'>
Wrap the old chip functions disable() and shutdown() until the
migration is complete and the old chip functions are removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
LKML-Reference: &lt;20100927121842.532070631@linutronix.de&gt;
Reviewed-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: Provide compat handling for chip-&gt;unmask()</title>
<updated>2010-10-04T10:43:37Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-09-27T12:44:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0eda58b7f3a30c9a13d83db1cfaab00e1c452055'/>
<id>urn:sha1:0eda58b7f3a30c9a13d83db1cfaab00e1c452055</id>
<content type='text'>
Wrap the old chip function unmask() until the migration is complete
and the old chip functions are removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
LKML-Reference: &lt;20100927121842.043608928@linutronix.de&gt;
Reviewed-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: Provide compat handling for bus_lock/bus_sync_unlock</title>
<updated>2010-10-04T10:43:35Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-09-27T12:44:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3876ec9ef3775d062345b3760d3271ecb8cd3fea'/>
<id>urn:sha1:3876ec9ef3775d062345b3760d3271ecb8cd3fea</id>
<content type='text'>
Wrap the old chip functions for bus_lock/bus_sync_unlock until the
migration is complete and the old chip functions are removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
LKML-Reference: &lt;20100927121841.842536121@linutronix.de&gt;
Reviewed-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: Convert core code to irq_data</title>
<updated>2010-10-04T10:36:26Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2010-10-01T10:58:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b8ff3120c758340505dddf08ad685ebb841d5d5'/>
<id>urn:sha1:6b8ff3120c758340505dddf08ad685ebb841d5d5</id>
<content type='text'>
Convert all references in the core code to orq, chip, handler_data,
chip_data, msi_desc, affinity to irq_data.*

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
