On 9/26/25 6:05 AM, Danilo Krummrich wrote:
> Don't use unwrap() to extract an Option<SGEntry>, instead handle the
> error condition gracefully.
> 
> Fixes: a841614e607c ("gpu: nova-core: firmware: process and prepare the GSP 
> firmware")
> Signed-off-by: Danilo Krummrich <[email protected]>
> ---
>  drivers/gpu/nova-core/firmware/gsp.rs | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 

Looks good!

Reviewed-by: John Hubbard <[email protected]>


thanks,
John Hubbard

> diff --git a/drivers/gpu/nova-core/firmware/gsp.rs 
> b/drivers/gpu/nova-core/firmware/gsp.rs
> index ca785860e1c8..6b0761460a57 100644
> --- a/drivers/gpu/nova-core/firmware/gsp.rs
> +++ b/drivers/gpu/nova-core/firmware/gsp.rs
> @@ -202,9 +202,10 @@ pub(crate) fn new<'a, 'b>(
>                  let mut level0_data = kvec![0u8; GSP_PAGE_SIZE]?;
>  
>                  // Fill level 1 page entry.
> -                let level1_entry = 
> level1.iter().next().unwrap().dma_address();
> -                let dst = &mut level0_data[..size_of_val(&level1_entry)];
> -                dst.copy_from_slice(&level1_entry.to_le_bytes());
> +                let level1_entry = level1.iter().next().ok_or(EINVAL)?;
> +                let level1_entry_addr = level1_entry.dma_address();
> +                let dst = &mut 
> level0_data[..size_of_val(&level1_entry_addr)];
> +                dst.copy_from_slice(&level1_entry_addr.to_le_bytes());
>  
>                  // Turn the level0 page table into a [`DmaObject`].
>                  DmaObject::from_data(dev, &level0_data)?


Reply via email to