Port-cobalt archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: quiet irq 9



Hi! all,


From: KIYOHARA Takashi <kiyohara%kk.iij4u.or.jp@localhost>
Date: Tue, 17 Jun 2008 03:03:24 +0900 (JST)

> I tried to boot kernel at yestaday (4.99.64).  My cobalt qube2j has USB
> and IEEE1394 interface at PCI.  And I enable fwohci and [eu]hci.
> 
> I found a interrupt happen from fwohci(irq 9) when boot time.  However,
> interrupt did not happen at all afterwards with both.  If fwohci disabled
> then [eu]hci works fine.

I understand the cause for this problem.

The interrupt routine of fwohci not loop for until cleared to all causes.
And, I know EOI is issued to i8259 after the interrupt processing of
fwohci and [eu]hci is called.  I saw fwohci have already caused interrupt
at this time.  I was able to evade this problem by looping in
fwohci_check_stat(). 

Index: fwohci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ieee1394/fwohci.c,v
retrieving revision 1.114
diff -u -r1.114 fwohci.c
--- fwohci.c    10 May 2008 13:56:54 -0000      1.114
+++ fwohci.c    18 Jun 2008 03:21:53 -0000
@@ -2173,6 +2173,7 @@
 {
        uint32_t stat, irstat, itstat;
 
+retry:
        stat = OREAD(sc, FWOHCI_INTSTAT);
        CTR1(KTR_DEV, "fwoch_check_stat 0x%08x", stat);
        if (stat == 0xffffffff) {
@@ -2200,6 +2201,7 @@
        }
 
        fwohci_intr_core(sc, stat, -1);
+if (1) goto retry;
        return (FILTER_HANDLED);
 }
 


Does this mean interrupt will not happen in after EOI is issued by
mistake at happening of interrupt in i8259 in a word?

Thanks,
--
kiyohara


Home | Main Index | Thread Index | Old Index