On Mon, 2011-08-15 at 16:33 +0530, radhika bhaskaran wrote: > > For my debugging purpose i tried to register two isr's on the same > number IRQ no in the same driver. But the isr which is registerd > first is being hit. > Since the kernel is monolithic is doesn't really matter where your ISR functions are defined and where these handlers are assigned an IRQ line. > > The other isr funciton which is registered after the first isr is > never executed. > > > Any more suggestions? > Yes, does yours ISR function handlers look if they generated the interrupt and if not respond accordingly? If your device didn't raised the interrupt then they have to return IRQ_NONE. If your hardware raised the interrupt then you have to do the processing and return IRQ_HANDLED. So you have to do something like this: static irqreturn_t my_interrupt(int irq, void *data) { int result; struct my_device *my_dev = data; result = check_interrupt_raised(my_dev); if (!result) return IRQ_NONE; process_interrupt(my_dev); return IRQ_HANDLED; } Hope it helps, Javier Martinez Canillas _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies