devices: vvu: wl: do not hold RefCell borrow across await

Change the comparison from an `if let` into a regular `if ... ==` by
implementing `PartialEq` for the relevant types. This makes the lifetime
of the `wl_state.borrow_mut()` end before calling
`kick_evt.next_val().await()`.

Fixes a new clippy warning from Rust 1.61.0:
<https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_refcell_ref>

BUG=None
TEST=tools/clippy # with Rust 1.61.0

Change-Id: I067c2ab532d753306cd5334df5bb4f2c7c2e6584
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3671130
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Anton Romanov <romanton@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Daniel Verkamp 2022-05-26 14:45:20 -07:00 committed by Chromeos LUCI
parent 900237a541
commit 5fa53bc27a
2 changed files with 3 additions and 3 deletions

View file

@ -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);

View file

@ -1492,7 +1492,7 @@ impl WlState {
}
}
#[derive(ThisError, Debug)]
#[derive(ThisError, Debug, PartialEq)]
#[error("no descriptors available in queue")]
pub struct DescriptorsExhausted;