diff --git a/repos/os/src/drivers/gpu/intel/main.cc b/repos/os/src/drivers/gpu/intel/main.cc index 333c2ff160..79eb980cb6 100644 --- a/repos/os/src/drivers/gpu/intel/main.cc +++ b/repos/os/src/drivers/gpu/intel/main.cc @@ -917,10 +917,19 @@ struct Igd::Device int const port = _mmio.read(); - if (_mmio.read() || - _mmio.read()) - return; + bool empty = false; + for (unsigned i = 0; i < 100; i++) { + if (_mmio.read() == 0 && + _mmio.read() == 0) { + empty = true; + break; + } + } + + /* write list anyway, it will preempt something in the worst case */ + if (!empty) + warning("exec list is not empty"); el.schedule(port);