[PATCH] tpm: tis_infineon: Cannot test unsigned for being negative
Ilias Apalodimas
ilias.apalodimas at linaro.org
Wed Aug 13 13:40:54 CEST 2025
On Wed, 13 Aug 2025 at 13:40, Andrew Goodbody
<andrew.goodbody at linaro.org> wrote:
>
> tpm_tis_i2c_get_burstcount returns a size_t but also returns -EBUSY if
> the TPM is surrently busy. As size_t is an unsigned type simply testing
> for < 0 will not work so change the test for being equal to -EBUSY which
> will work. Also remove the trivial comments.
>
> This issue was found by Smatch.
>
> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
> ---
> drivers/tpm/tpm_tis_infineon.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/tpm/tpm_tis_infineon.c b/drivers/tpm/tpm_tis_infineon.c
> index e2f6238cbc7..180bcf4f938 100644
> --- a/drivers/tpm/tpm_tis_infineon.c
> +++ b/drivers/tpm/tpm_tis_infineon.c
> @@ -353,8 +353,7 @@ static int tpm_tis_i2c_recv_data(struct udevice *dev, u8 *buf, size_t count)
> while (size < count) {
> burstcnt = tpm_tis_i2c_get_burstcount(dev);
>
> - /* burstcount < 0 -> tpm is busy */
> - if (burstcnt < 0)
> + if (burstcnt == -EBUSY)
> return burstcnt;
>
> /* Limit received data to max left */
> @@ -449,8 +448,7 @@ static int tpm_tis_i2c_send(struct udevice *dev, const u8 *buf, size_t len)
>
> burstcnt = tpm_tis_i2c_get_burstcount(dev);
>
> - /* burstcount < 0 -> tpm is busy */
> - if (burstcnt < 0)
> + if (burstcnt == -EBUSY)
> return burstcnt;
>
> while (count < len) {
>
> ---
> base-commit: 7807ed921314cd7af83fd88162d0b8c6fb20a9ca
> change-id: 20250813-tpm_tis_infineon-62014a7e6158
>
> Best regards,
> --
> Andrew Goodbody <andrew.goodbody at linaro.org>
>\
Acked-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list