On 8/30/06, Rik van Riel <riel@xxxxxxxxxxx> wrote:Rick Brown wrote:
> Hi,
>
> In my driver (Process context), I have written the following code:
>
> --------------------------------------------
> spin_lock(lock)
> ...
> //Critical section to manipulate driver data
... interrupt hits here
interrupt handler tries to grab the spinlock, which is already taken
*BOOM*
> spin_u lock(lock)
> ---------------------------------------------
>
The interrupt handler TRIES to grab the spinlock, which is already
taken. Why will it "BOOM"? Wouldn't the interrupt handler busy wait,
waiting for the lock?
Am I missing something here?