diff --git a/fpga/include/villas/fpga/ips/intc.hpp b/fpga/include/villas/fpga/ips/intc.hpp index f44bc918f..3a61f5e6c 100644 --- a/fpga/include/villas/fpga/ips/intc.hpp +++ b/fpga/include/villas/fpga/ips/intc.hpp @@ -24,6 +24,7 @@ public: virtual ~InterruptController(); virtual bool init() override; + virtual bool stop() override; bool enableInterrupt(IrqMaskType mask, bool polling); bool enableInterrupt(IrqPort irq, bool polling) { diff --git a/fpga/lib/ips/intc.cpp b/fpga/lib/ips/intc.cpp index 2d79e35e0..ec2ab1079 100644 --- a/fpga/lib/ips/intc.cpp +++ b/fpga/lib/ips/intc.cpp @@ -19,9 +19,10 @@ using namespace villas::fpga::ip; -InterruptController::~InterruptController() -{ - card->vfioDevice->pciMsiDeinit(this->efds); +InterruptController::~InterruptController() {} + +bool InterruptController::stop() { + return card->vfioDevice->pciMsiDeinit(this->efds) > 0; } bool