diff options
Diffstat (limited to 'rust/kernel/serdev.rs')
| -rw-r--r-- | rust/kernel/serdev.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/rust/kernel/serdev.rs b/rust/kernel/serdev.rs index 383f62b1b713..c0cd24481ee3 100644 --- a/rust/kernel/serdev.rs +++ b/rust/kernel/serdev.rs @@ -162,7 +162,8 @@ impl<T: Driver> Adapter<T> { // // INVARIANT: `sdev` is valid for the duration of `probe_callback()`. let sdev = unsafe { &*sdev.cast::<Device<device::CoreInternal<'_>>>() }; - let info = <Self as driver::Adapter>::id_info(sdev.as_ref()); + // SAFETY: `sdev` matched data is of type `Self::IdInfo`. + let info = unsafe { <Self as driver::Adapter>::id_info(sdev.as_ref()) }; from_result(|| { sdev.as_ref().set_drvdata(try_pin_init!(PrivateData::<T> { |
