Douglas Anderson eac9347d93 tpm_tis_spi: Don't send anything during flow control
During flow control we are just reading from the TPM, yet our spi_xfer
has the tx_buf and rx_buf both non-NULL which means we're requesting a
full duplex transfer.

SPI is always somewhat of a full duplex protocol anyway and in theory
the other side shouldn't really be looking at what we're sending it
during flow control, but it's still a bit ugly to be sending some
"random" data when we shouldn't.

The default tpm_tis_spi_flow_control() tries to address this by
setting 'phy->iobuf[0] = 0'.  This partially avoids the problem of
sending "random" data, but since our tx_buf and rx_buf both point to
the same place I believe there is the potential of us sending the
TPM's previous byte back to it if we hit the retry loop.

Another flow control implementation, cr50_spi_flow_control(), doesn't
address this at all.

Let's clean this up and just make the tx_buf NULL before we call
flow_control().  Not only does this ensure that we're not sending any
"random" bytes but it also possibly could make the SPI controller
behave in a slightly more optimal way.

NOTE: no actual observed problems are fixed by this patch--it's was
just made based on code inspection.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
2020-07-02 17:48:59 +03:00
..
2020-06-26 17:06:29 +02:00
2020-06-19 13:09:40 -07:00
2020-06-26 12:32:11 -07:00
2020-06-19 13:11:26 -07:00
2020-06-28 14:41:55 +02:00
2020-06-28 14:55:18 -07:00
2020-06-26 17:26:31 +02:00
2020-06-04 11:03:45 -07:00
2020-06-02 15:29:19 -07:00
2020-06-13 13:29:16 -07:00
2020-06-11 12:53:23 -07:00
2020-06-13 13:29:16 -07:00
2020-06-13 13:29:16 -07:00
2020-06-04 19:09:28 +02:00
2020-06-08 13:01:08 -07:00
2020-06-08 13:01:08 -07:00
2020-06-07 16:11:23 -07:00
2020-06-27 15:20:03 -07:00
2020-06-28 14:57:14 -07:00
2020-06-29 10:10:16 -07:00
2020-06-13 13:29:16 -07:00
2020-06-27 13:12:10 -07:00
2020-06-22 12:34:21 -04:00