Re: [PATCH] iio: temperature: tsys01: fix broken PROM checksum validation

From: Andy Shevchenko

Date: Tue Apr 28 2026 - 11:52:00 EST


On Tue, Apr 28, 2026 at 04:22:39PM +0100, Salah Triki wrote:
> The CRC check function was incorrectly using only the first word of the
> PROM (n_prom[0]) instead of iterating through all words. This caused
> the driver to fail probing on most devices due to incorrect checksum
> calculation.
>
> - Fix loop to use the correct index n_prom[cnt].
> - Ensure all bytes are summed as per the datasheet specification.

...

> u8 sum = 0;
>
> for (cnt = 0; cnt < TSYS01_PROM_WORDS_NB; cnt++)
> - sum += ((n_prom[0] >> 8) + (n_prom[0] & 0xFF));
> + sum += ((n_prom[cnt] >> 8) + (n_prom[cnt] & 0xFF));
>
> return (sum == 0);

This change makes more questions than answers. How had it been tested,
if tested at all? (This question is to before and to after, the commit
message is also unclear about what datasheet says or the real field
testing gives.)

--
With Best Regards,
Andy Shevchenko