|
@@ -198,7 +198,7 @@ static int recv_data(struct tpm_chip *chip, u8 *buf, size_t count)
|
|
|
wait_for_tpm_stat(chip,
|
|
|
TPM_STS_DATA_AVAIL | TPM_STS_VALID,
|
|
|
chip->vendor.timeout_c,
|
|
|
- &chip->vendor.read_queue)
|
|
|
+ &chip->vendor.read_queue, true)
|
|
|
== 0) {
|
|
|
burstcnt = get_burstcount(chip);
|
|
|
for (; burstcnt > 0 && size < count; burstcnt--)
|
|
@@ -241,7 +241,7 @@ static int tpm_tis_recv(struct tpm_chip *chip, u8 *buf, size_t count)
|
|
|
}
|
|
|
|
|
|
wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c,
|
|
|
- &chip->vendor.int_queue);
|
|
|
+ &chip->vendor.int_queue, false);
|
|
|
status = tpm_tis_status(chip);
|
|
|
if (status & TPM_STS_DATA_AVAIL) { /* retry? */
|
|
|
dev_err(chip->dev, "Error left over data\n");
|
|
@@ -277,7 +277,7 @@ static int tpm_tis_send_data(struct tpm_chip *chip, u8 *buf, size_t len)
|
|
|
tpm_tis_ready(chip);
|
|
|
if (wait_for_tpm_stat
|
|
|
(chip, TPM_STS_COMMAND_READY, chip->vendor.timeout_b,
|
|
|
- &chip->vendor.int_queue) < 0) {
|
|
|
+ &chip->vendor.int_queue, false) < 0) {
|
|
|
rc = -ETIME;
|
|
|
goto out_err;
|
|
|
}
|
|
@@ -292,7 +292,7 @@ static int tpm_tis_send_data(struct tpm_chip *chip, u8 *buf, size_t len)
|
|
|
}
|
|
|
|
|
|
wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c,
|
|
|
- &chip->vendor.int_queue);
|
|
|
+ &chip->vendor.int_queue, false);
|
|
|
status = tpm_tis_status(chip);
|
|
|
if (!itpm && (status & TPM_STS_DATA_EXPECT) == 0) {
|
|
|
rc = -EIO;
|
|
@@ -304,7 +304,7 @@ static int tpm_tis_send_data(struct tpm_chip *chip, u8 *buf, size_t len)
|
|
|
iowrite8(buf[count],
|
|
|
chip->vendor.iobase + TPM_DATA_FIFO(chip->vendor.locality));
|
|
|
wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c,
|
|
|
- &chip->vendor.int_queue);
|
|
|
+ &chip->vendor.int_queue, false);
|
|
|
status = tpm_tis_status(chip);
|
|
|
if ((status & TPM_STS_DATA_EXPECT) != 0) {
|
|
|
rc = -EIO;
|
|
@@ -342,7 +342,7 @@ static int tpm_tis_send(struct tpm_chip *chip, u8 *buf, size_t len)
|
|
|
if (wait_for_tpm_stat
|
|
|
(chip, TPM_STS_DATA_AVAIL | TPM_STS_VALID,
|
|
|
tpm_calc_ordinal_duration(chip, ordinal),
|
|
|
- &chip->vendor.read_queue) < 0) {
|
|
|
+ &chip->vendor.read_queue, false) < 0) {
|
|
|
rc = -ETIME;
|
|
|
goto out_err;
|
|
|
}
|