hi,
we are writing a driver(FreeBSD 4.0) for a switch connected to a PCI port.
the interrupt handling routine is not getting called. we checked the
switch IRQ status register and find some interrupts to be pending. we
have no clue about what is happening, can someone give a few ideas about
what could be wrong?
some info you may ask for:
vmstat -i doesn't show any thing about the device
there doen't seem to be any conflicts while assigning the IRQ numbers. and
the IRQ info in dmesg matches with the interrupt line configuration
register of the device.
code to register to interrupt routine:
rid = 0;
sc->edge_irq = bus_alloc_resource(dev,SYS_RES_IRQ,
&rid, 0,
~0, 1,
RF_SHAREABLE|RF_ACTIVE);
if(!sc->edge_irq){
/*release all resources*/
return -1;
}
error = bus_setup_intr(dev, sc->edge_irq,
INTR_TYPE_NET,
edge_intr, /*interrupt handler*/
sc,
&sc->edge_intrhand);
if(error){
/*release all resources*/
return -1;
}
thanks,
mohan
---------------------------------------------------------------------------
Creativity is allowing yourself to make mistakes and Art is
knowing which ones to keep.
-Dilbert
Mohana Krishna P.
ph:- 527 6100/6108 x6352
Telecom ODC, Sasken Communication Technologies, INDIA.
http://www.sasken.com
---------------------------------------------------------------------------
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message