diff options
Diffstat (limited to 'devices/src/virtio/gpu/mod.rs')
-rw-r--r-- | devices/src/virtio/gpu/mod.rs | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs index 251b59c..686c174 100644 --- a/devices/src/virtio/gpu/mod.rs +++ b/devices/src/virtio/gpu/mod.rs @@ -570,26 +570,16 @@ impl Worker { } // All cursor commands go first because they have higher priority. - loop { - match self.state.process_cursor(&self.mem) { - Some(ReturnDescriptor { index, len }) => { - self.cursor_queue.add_used(&self.mem, index, len); - signal_used = true; - } - None => break, - } + while let Some(desc) = self.state.process_cursor(&self.mem) { + self.cursor_queue.add_used(&self.mem, desc.index, desc.len); + signal_used = true; } self.state.fence_poll(); - loop { - match self.state.process_ctrl(&self.mem) { - Some(ReturnDescriptor { index, len }) => { - self.ctrl_queue.add_used(&self.mem, index, len); - signal_used = true; - } - None => break, - } + while let Some(desc) = self.state.process_ctrl(&self.mem) { + self.ctrl_queue.add_used(&self.mem, desc.index, desc.len); + signal_used = true; } // Process the entire control queue before the resource bridge in case a resource is |