summary refs log tree commit diff
path: root/devices/src/virtio/gpu/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'devices/src/virtio/gpu/mod.rs')
-rw-r--r--devices/src/virtio/gpu/mod.rs22
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