mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 04:21:09 -04:00
gpu: nova-core: gsp: unconditionally call variable payload handling
Unconditionally call the variable length payload code, which is a no-op if there is no such payload but could defensively catch some coding errors by e.g. checking that the allocated size is completely filled. Tested-by: Zhi Wang <zhiw@nvidia.com> Signed-off-by: Eliot Courtney <ecourtney@nvidia.com> Link: https://patch.msgid.link/20260306-cmdq-continuation-v6-6-cc7b629200ee@nvidia.com Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
This commit is contained in:
committed by
Alexandre Courbot
parent
1a0d4bc62b
commit
dcf1fdafe0
@@ -548,16 +548,14 @@ pub(crate) fn send_command<M>(&mut self, bar: &Bar0, command: M) -> Result
|
||||
command.init().__init(core::ptr::from_mut(cmd))?;
|
||||
}
|
||||
|
||||
// Fill the variable-length payload.
|
||||
if command_size > size_of::<M::Command>() {
|
||||
let mut sbuffer =
|
||||
SBufferIter::new_writer([&mut payload_1[..], &mut dst.contents.1[..]]);
|
||||
command.init_variable_payload(&mut sbuffer)?;
|
||||
// Fill the variable-length payload, which may be empty.
|
||||
let mut sbuffer = SBufferIter::new_writer([&mut payload_1[..], &mut dst.contents.1[..]]);
|
||||
command.init_variable_payload(&mut sbuffer)?;
|
||||
|
||||
if !sbuffer.is_empty() {
|
||||
return Err(EIO);
|
||||
}
|
||||
if !sbuffer.is_empty() {
|
||||
return Err(EIO);
|
||||
}
|
||||
drop(sbuffer);
|
||||
|
||||
// Compute checksum now that the whole message is ready.
|
||||
dst.header
|
||||
|
||||
Reference in New Issue
Block a user