From 720f6072d1a29329d7e4b6c740b661631dc717f2 Mon Sep 17 00:00:00 2001 From: Marcus Overhagen Date: Mon, 11 Sep 2006 22:41:41 +0000 Subject: [PATCH] Fixed the interrupt handler. however, it should still be fixed again later... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18814 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../busses/ide/silicon_image_3112/silicon_image_3112.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c b/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c index 024ca24796..f634864c5f 100644 --- a/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c +++ b/src/add-ons/kernel/busses/ide/silicon_image_3112/silicon_image_3112.c @@ -812,6 +812,7 @@ handle_interrupt(void *arg) controller_data *controller = arg; ide_bm_status bm_status; uint8 status; + int32 ret; int i; FLOW("handle_interrupt\n"); @@ -830,7 +831,9 @@ handle_interrupt(void *arg) // acknowledge IRQ status = *(channel->command_block + 7); - return ide->irq_handler(channel->ide_channel, status); + ret = ide->irq_handler(channel->ide_channel, status); + if (ret != B_UNHANDLED_INTERRUPT) + return ret; } return B_UNHANDLED_INTERRUPT;