Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

samples: rust: fix endianness issue in rust_driver_pci

MMIO backend of PCI Bar always assumes little-endian devices and
will convert to CPU endianness automatically. Remove the u32::from_le
conversion which would cause a bug on big-endian machines.

Cc: stable@vger.kernel.org
Reviewed-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Marko Turk <mt@markoturk.info>
Fixes: 685376d18e9a ("samples: rust: add Rust PCI sample driver")
Link: https://patch.msgid.link/20251210112503.62925-2-mt@markoturk.info
Signed-off-by: Danilo Krummrich <dakr@kernel.org>

authored by

Marko Turk and committed by
Danilo Krummrich
e2f1081c d8932355

+1 -1
+1 -1
samples/rust/rust_driver_pci.rs
··· 48 48 // Select the test. 49 49 bar.write8(index.0, Regs::TEST); 50 50 51 - let offset = u32::from_le(bar.read32(Regs::OFFSET)) as usize; 51 + let offset = bar.read32(Regs::OFFSET) as usize; 52 52 let data = bar.read8(Regs::DATA); 53 53 54 54 // Write `data` to `offset` to increase `count` by one.