OpenCloudOS-Kernel/drivers/acpi/pmic
Hans de Goede 3c670dba86 ACPI / PMIC: xpower: Block P-Unit I2C access during read-modify-write
intel_xpower_pmic_update_power() does a read-modify-write of the output
control register. The i2c-designware code blocks the P-Unit I2C access
during the read and write by taking the P-Unit's PMIC bus semaphore.
But between the read and the write that semaphore is released and the
P-Unit could make changes to the register which we then end up overwriting.

This commit makes intel_xpower_pmic_update_power() take the semaphore
itself so that it is held over the entire read-modify-write, avoiding this
race.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-10-25 17:00:05 +02:00
..
intel_pmic.c ACPI / PMIC: remove modular references from non-modular code 2016-07-16 03:03:14 +02:00
intel_pmic.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intel_pmic_bxtwc.c ACPI / PMIC: Convert drivers to use SPDX identifier 2018-09-10 12:57:55 +02:00
intel_pmic_chtdc_ti.c ACPI / PMIC: Convert drivers to use SPDX identifier 2018-09-10 12:57:55 +02:00
intel_pmic_chtwc.c ACPI / PMIC: Convert drivers to use SPDX identifier 2018-09-10 12:57:55 +02:00
intel_pmic_crc.c ACPI / PMIC: Convert drivers to use SPDX identifier 2018-09-10 12:57:55 +02:00
intel_pmic_xpower.c ACPI / PMIC: xpower: Block P-Unit I2C access during read-modify-write 2018-10-25 17:00:05 +02:00
tps68470_pmic.c ACPI / PMIC: Sort headers alphabetically 2018-09-10 12:57:04 +02:00