[PATCH] iio: proximity: aw96103: fix firmware read on big-endian
From: David Lechner
Date: Sat Mar 14 2026 - 19:20:32 EST
Use get_unaligned_le32() instead of casting to int * to make sure that
reading a 32-bit int value from the firmware binary works correctly on
big-endian architectures.
Fixes: 07b241262dca ("iio: proximity: aw96103: Add support for aw96103/aw96105 proximity sensor")
Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
---
drivers/iio/proximity/aw96103.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/proximity/aw96103.c b/drivers/iio/proximity/aw96103.c
index 3472a2c36e44..8263411c06df 100644
--- a/drivers/iio/proximity/aw96103.c
+++ b/drivers/iio/proximity/aw96103.c
@@ -233,7 +233,7 @@ static void aw96103_parsing_bin_file(struct aw_bin *bin)
{
bin->valid_data_addr = AW96103_BIN_VALID_DATA_OFFSET;
bin->valid_data_len =
- *(unsigned int *)(bin->data + AW96103_BIN_DATA_LEN_OFFSET) -
+ get_unaligned_le32(bin->data + AW96103_BIN_DATA_LEN_OFFSET) -
AW96103_BIN_DATA_REG_NUM_SIZE;
memcpy(bin->chip_type, bin->data + AW96103_BIN_CHIP_TYPE_OFFSET,
AW96103_BIN_CHIP_TYPE_SIZE);
---
base-commit: ff0843ceb1fb11a6b73e0e77b932ef7967aecd4b
change-id: 20260314-iio-proximity-aw96103-fix-firmware-read-c9378ce60830
Best regards,
--
David Lechner <dlechner@xxxxxxxxxxxx>