mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
gpu: nova-core: gsp: do not unwrap() SGEntry
Don't use unwrap() to extract an Option<SGEntry>, instead handle the
error condition gracefully.
Fixes: a841614e60 ("gpu: nova-core: firmware: process and prepare the GSP firmware")
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Message-ID: <20250926130623.61316-2-dakr@kernel.org>
This commit is contained in:
committed by
Alexandre Courbot
parent
87990025b8
commit
f7a33a67c5
@@ -202,9 +202,10 @@ impl GspFirmware {
|
||||
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)?
|
||||
|
||||
Reference in New Issue
Block a user