Rev 1573 | Rev 1595 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1573 | Rev 1591 | ||
|---|---|---|---|
| Line 213... | Line 213... | ||
| 213 | ASSERT(irq_conns); |
213 | ASSERT(irq_conns); |
| 214 | spinlock_lock(&irq_conns[irq].lock); |
214 | spinlock_lock(&irq_conns[irq].lock); |
| 215 | 215 | ||
| 216 | if (irq_conns[irq].box) { |
216 | if (irq_conns[irq].box) { |
| 217 | call = ipc_call_alloc(FRAME_ATOMIC); |
217 | call = ipc_call_alloc(FRAME_ATOMIC); |
| - | 218 | if (!call) { |
|
| - | 219 | spinlock_unlock(&irq_conns[irq].lock); |
|
| - | 220 | return; |
|
| - | 221 | } |
|
| 218 | call->flags |= IPC_CALL_NOTIF; |
222 | call->flags |= IPC_CALL_NOTIF; |
| 219 | IPC_SET_METHOD(call->data, IPC_M_INTERRUPT); |
223 | IPC_SET_METHOD(call->data, IPC_M_INTERRUPT); |
| 220 | IPC_SET_ARG1(call->data, irq); |
224 | IPC_SET_ARG1(call->data, irq); |
| 221 | IPC_SET_ARG3(call->data, atomic_preinc(&irq_conns[irq].counter)); |
225 | IPC_SET_ARG3(call->data, atomic_preinc(&irq_conns[irq].counter)); |
| 222 | 226 | ||