Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] DVB-S interrupt nesting
HI
I did small experiment with the interrupts.
Instead of clearing DVB isr register immediately
after reading, I change the code to clear isr after
processing of the interrupt handler.
I wanted to prevent dvb from making nested interrupts
before dvb interrupt handler finishes its job.
so applied this patch...
Well, Budget worked with this patch,
but DVB-S crashed immediately with oops saying
'scheduling inside the interrupt'.
--- /usr/local/src/dvb/stable/DVB/driver/av7110/saa7146_core.c Tue Nov 26 22:00:04 2002
+++ DVB/driver/av7110/saa7146_core.c Mon Dec 30 21:44:33 2002
@@ -418,9 +418,6 @@
/* read out the primary status register */
isr = saa7146_read(saa->mem, ISR);
- /* clear all IRQs */
- saa7146_write(saa->mem, ISR, isr);
-
/* is anything to do? */
if ( 0 == isr )
return;
@@ -435,6 +432,9 @@
//saa7146_write(saa->mem, ISR, saa7146_ext[i]->handles_irqs);
}
+ /* clear all IRQs */
+ saa7146_write(saa->mem, ISR, isr);
+
//printk(KERN_ERR "%s: unhandled interrupt: 0x%08x\n", saa->name, isr);
/* see if we are in a hard interrupt loop */
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index