• Peter Huewe's avatar
    tpm/tpm_i2c_stm_st33: Check return code of get_burstcount · 85c5e0d4
    Peter Huewe authored
    The 'get_burstcount' function can in some circumstances 'return -EBUSY' which
    in tpm_stm_i2c_send is stored in an 'u32 burstcnt'
    thus converting the signed value into an unsigned value, resulting
    in 'burstcnt' being huge.
    Changing the type to u32 only does not solve the problem as the signed
    value is converted to an unsigned in I2C_WRITE_DATA, resulting in the
    same effect.
    
    Thus
    -> Change type of burstcnt to u32 (the return type of get_burstcount)
    -> Add a check for the return value of 'get_burstcount' and propagate a
    potential error.
    
    This makes also sense in the 'I2C_READ_DATA' case, where the there is no
    signed/unsigned conversion.
    
    found by coverity
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarPeter Huewe <peterhuewe@gmx.de>
    85c5e0d4
tpm_i2c_stm_st33.c 22.6 KB