linux-brain/drivers/char/tpm
Peter Rosin 403c4772b1 tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
[ Upstream commit bb853aac2c ]

Locking the root adapter for __i2c_transfer will deadlock if the
device sits behind a mux-locked I2C mux. Switch to the finer-grained
i2c_lock_bus with the I2C_LOCK_SEGMENT flag. If the device does not
sit behind a mux-locked mux, the two locking variants are equivalent.

Signed-off-by: Peter Rosin <peda@axentia.se>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Alexander Steffen <Alexander.Steffen@infineon.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-19 22:47:15 +02:00
..
st33zp24 tpm: st33zp24: fix potential buffer overruns caused by bit glitches on the bus 2018-03-11 16:21:27 +01:00
Kconfig tpm/tpm_tis_spi: Add support for spi phy 2016-06-25 17:28:57 +03:00
Makefile tpm/tpm_tis_spi: Add support for spi phy 2016-06-25 17:28:57 +03:00
tpm-chip.c tpm: do not suspend/resume if power stays on 2018-06-13 16:16:40 +02:00
tpm-dev.c tpm: fix race condition in tpm_common_write() 2018-08-15 18:14:41 +02:00
tpm-interface.c tpm: self test failure should not cause suspend to fail 2018-06-13 16:16:40 +02:00
tpm-sysfs.c tpm: Issue a TPM2_Shutdown for TPM2 devices. 2017-07-15 12:16:11 +02:00
tpm.h tpm: do not suspend/resume if power stays on 2018-06-13 16:16:40 +02:00
tpm2-cmd.c tpm: fix potential buffer overruns caused by bit glitches on the bus 2018-03-24 11:00:08 +01:00
tpm_acpi.c ACPI: Clean up acpi_os_map/unmap_memory() to eliminate __iomem. 2014-05-27 18:13:08 +02:00
tpm_atmel.c tpm: Remove useless priv field in struct tpm_vendor_specific 2016-06-25 17:26:35 +03:00
tpm_atmel.h tpm: Remove useless priv field in struct tpm_vendor_specific 2016-06-25 17:26:35 +03:00
tpm_crb.c tpm_crb: check for bad response size 2017-05-25 15:44:32 +02:00
tpm_eventlog.c tpm: Get rid of devname 2016-06-25 17:26:35 +03:00
tpm_eventlog.h tpm: fix tpm_bios_log_setup stub prototype 2016-06-25 17:26:35 +03:00
tpm_i2c_atmel.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm_i2c_infineon.c tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) 2018-09-19 22:47:15 +02:00
tpm_i2c_nuvoton.c tpm_i2c_nuvoton: fix potential buffer overruns caused by bit glitches on the bus 2018-03-11 16:21:27 +01:00
tpm_ibmvtpm.c vTPM: Fix missing NULL check 2017-06-24 07:11:17 +02:00
tpm_ibmvtpm.h tpm_ibmvtpm: properly handle interrupted packet receptions 2015-12-20 15:27:12 +02:00
tpm_infineon.c tpm: Get rid of chip->pdev 2016-06-25 17:26:35 +03:00
tpm_nsc.c tpm: Remove useless priv field in struct tpm_vendor_specific 2016-06-25 17:26:35 +03:00
tpm_of.c TPM: Avoid reference to potentially freed memory 2015-11-09 17:52:55 +02:00
tpm_ppi.c tpm: move the PPI attributes to character device directory. 2015-10-19 01:01:20 +02:00
tpm_tis.c tpm: constify transmit data pointers 2018-03-11 16:21:27 +01:00
tpm_tis_core.c tpm: constify transmit data pointers 2018-03-11 16:21:27 +01:00
tpm_tis_core.h tpm: constify transmit data pointers 2018-03-11 16:21:27 +01:00
tpm_tis_spi.c tpm_tis_spi: Pass the SPI IRQ down to the driver 2018-09-19 22:47:15 +02:00
tpm_vtpm_proxy.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
xen-tpmfront.c tpm xen: Remove bogus tpm_chip_unregister 2017-01-06 10:40:17 +01:00