tpm/tpm_i2c_stm_st33: Fix potential bug in tpm_stm_i2c_send
authorChristophe Ricard <christophe.ricard@gmail.com>
Mon, 1 Dec 2014 18:32:46 +0000 (19:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Mar 2015 22:40:50 +0000 (14:40 -0800)
commit6280501c3e6346652bb9a1f2a77148f5aa5a37a6
tree967c1af0946d47a80cc3aaf7a7ef20c0ef2be2bb
parent1c243c211c1141a14e5e418de314ed466c513ac6
tpm/tpm_i2c_stm_st33: Fix potential bug in tpm_stm_i2c_send

commit 1ba3b0b6f218072afe8372d12f1b6bf26a26008e upstream.

When sending data in tpm_stm_i2c_send, each loop iteration send buf.
Send buf + i instead as the goal of this for loop is to send a number
of byte from buf that fit in burstcnt. Once those byte are sent, we are
supposed to send the next ones.

The driver was working because the burstcount value returns always the maximum size for a TPM
command or response. (0x800 for a command and 0x400 for a response).

Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/tpm/tpm_i2c_stm_st33.c