irq_done
| Number | 0x42 |
|---|---|
| Signature | (dev_handle) -> 0 or -err |
| Group | irq |
| Since | 1.0 |
Signal that the device has been serviced. The kernel unmasks the IRQ line so it can fire again.
Pitfalls
Do not call irq_done until the device has actually been serviced and has deasserted the line, or you provoke an interrupt storm. Recalling it is fine, since the kernel ignores it if the IRQ is not masked.
Arguments
| Register | Name | Description |
|---|---|---|
r0 | dev_handle | Handle of the device |
Returns
0 on success.
Errors
| Code | Condition |
|---|---|
ERR_BADHANDLE / ERR_BADTYPE | For a bad handle |
ERR_BADARG | Handle does not point to a valid IRQ |
ERR_NOPERM | Calling process does not own the IRQ |