diff --git a/devices/src/virtio/vhost/user/device/wl.rs b/devices/src/virtio/vhost/user/device/wl.rs index 56afdd15a9..630510ce50 100644 --- a/devices/src/virtio/vhost/user/device/wl.rs +++ b/devices/src/virtio/vhost/user/device/wl.rs @@ -62,8 +62,8 @@ async fn run_in_queue( break; } - if let Err(wl::DescriptorsExhausted) = - wl::process_in_queue(&doorbell, &mut queue, &mem, &mut wlstate.borrow_mut()) + if wl::process_in_queue(&doorbell, &mut queue, &mem, &mut wlstate.borrow_mut()) + == Err(wl::DescriptorsExhausted) { if let Err(e) = kick_evt.next_val().await { error!("Failed to read kick event for in queue: {}", e); diff --git a/devices/src/virtio/wl.rs b/devices/src/virtio/wl.rs index fa7de516ed..8e1f3e13dc 100644 --- a/devices/src/virtio/wl.rs +++ b/devices/src/virtio/wl.rs @@ -1492,7 +1492,7 @@ impl WlState { } } -#[derive(ThisError, Debug)] +#[derive(ThisError, Debug, PartialEq)] #[error("no descriptors available in queue")] pub struct DescriptorsExhausted;