Fixed setting up an interrupt using the new filter method: INTR_FAST doesn't
have to be set in this case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23001 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
d0007186e5
commit
da744139fa
@ -296,18 +296,15 @@ bus_setup_intr(device_t dev, struct resource *res, int flags,
|
|||||||
intr->arg = arg;
|
intr->arg = arg;
|
||||||
intr->irq = res->r_bushandle;
|
intr->irq = res->r_bushandle;
|
||||||
intr->flags = flags;
|
intr->flags = flags;
|
||||||
|
intr->sem = -1;
|
||||||
|
intr->thread = -1;
|
||||||
|
|
||||||
if (flags & INTR_FAST) {
|
if (filter != NULL) {
|
||||||
intr->sem = -1;
|
status = install_io_interrupt_handler(intr->irq,
|
||||||
intr->thread = -1;
|
(interrupt_handler)intr->filter, intr->arg, 0);
|
||||||
|
} else if (flags & INTR_FAST) {
|
||||||
if (filter != NULL) {
|
status = install_io_interrupt_handler(intr->irq,
|
||||||
status = install_io_interrupt_handler(intr->irq,
|
intr_fast_wrapper, intr, 0);
|
||||||
(interrupt_handler)intr->filter, intr->arg, 0);
|
|
||||||
} else {
|
|
||||||
status = install_io_interrupt_handler(intr->irq,
|
|
||||||
intr_fast_wrapper, intr, 0);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
snprintf(semName, sizeof(semName), "%s intr", dev->dev_name);
|
snprintf(semName, sizeof(semName), "%s intr", dev->dev_name);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user