diff --git a/repos/pc/src/drivers/platform/pc/intel/io_mmu.cc b/repos/pc/src/drivers/platform/pc/intel/io_mmu.cc index 7ddb3aa208..31dfcb7b56 100644 --- a/repos/pc/src/drivers/platform/pc/intel/io_mmu.cc +++ b/repos/pc/src/drivers/platform/pc/intel/io_mmu.cc @@ -435,8 +435,8 @@ Intel::Io_mmu::Io_mmu(Env & env, _global_command(false); } - /* enable fault event interrupts */ - if (irq_number) { + /* enable fault event interrupts (if not already enabled by kernel) */ + if (irq_number && !read()) { _fault_irq.construct(_env, irq_number, 0, Irq_session::TYPE_MSI); _fault_irq->sigh(_fault_handler);