[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: interrupt from interrupt
From:       Matthias Welwarsky <mwelwarsky () web ! de>
Date:       2005-05-23 15:23:17
Message-ID: 200505231723.17266.mwelwarsky () web ! de
[Download RAW message or body]

On Monday 23 May 2005 09:37, Thomas Surrel wrote:
> Hi,
>
> I'm using a 2.4.27 kernel on a AT91RM9200.
> I'm trying to trigger a SPI tranfer when i receive an interrupt on a
> port. But i get a "Scheduling in interrupt" error if i do this on the
> interrupt routine, or in a tasklet.
>
> I guess the problem is that the SPI transfert uses interrupts itself, as
> it calls wait_on_completion() at the start of the transfer, and
> complete() in an interrupt routine.

You cannot do wait_on_completion() from an interrupt, it might sleep.

> So, what mechanism would allow me to trigger a function involving
> interrupts from an interrupt routine ?

A kernel thread sleeping on a request queue, being woken up from the from the 
interrupt service.

>
> Thanks in advance for any help !
>
> Thomas
>
> -------------------------------------------------------------------
> List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
> FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
> Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic