android_kernel_samsung_sm8650/drivers/i2c
Wolfram Sang 4db61c2a16 i2c: core: ratelimit 'transfer when suspended' errors
There are two problems with WARN_ON() here. One: It is not ratelimited.
Two: We don't see which adapter was used when trying to transfer
something when already suspended. Implement a custom ratelimit once per
adapter and use dev_WARN there. This fixes both issues. Drawback is that
we don't see if multiple drivers are trying to transfer with the same
adapter while suspended. They need to be discovered one after the other
now. This is better than a high CPU load because a really broken driver
might try to resend endlessly.

Fixes: 9ac6cb5fbb ("i2c: add suspended flag and accessors for i2c adapters")
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@vger.kernel.org # v5.1+
2019-05-03 15:25:00 +02:00
..
algos i2c: algo: bit: add flag to whitelist atomic transfers 2019-04-16 13:08:16 +02:00
busses Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-5.2 2019-05-03 15:20:58 +02:00
muxes Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-5.2 2019-05-03 15:20:58 +02:00
i2c-boardinfo.c i2c: i2c-boardinfo: fix memory leaks on devinfo 2017-11-27 19:14:29 +01:00
i2c-core-acpi.c i2c: acpi: Introduce i2c_acpi_get_i2c_resource() helper 2018-12-03 21:40:02 +02:00
i2c-core-base.c i2c: core: ratelimit 'transfer when suspended' errors 2019-05-03 15:25:00 +02:00
i2c-core-of.c i2c: of: Try to find an I2C adapter matching the parent 2019-02-05 13:41:49 +01:00
i2c-core-slave.c i2c: remove i2c_lock_adapter and use i2c_lock_bus directly 2018-07-13 00:09:37 +02:00
i2c-core-smbus.c i2c: core: introduce callbacks for atomic transfers 2019-04-16 13:08:11 +02:00
i2c-core.h i2c: core: introduce callbacks for atomic transfers 2019-04-16 13:08:11 +02:00
i2c-dev.c i2c: expand minor range when registering chrdev region 2019-02-15 09:53:34 +01:00
i2c-mux.c i2c: mux: populate the new *_atomic callbacks 2019-04-16 13:08:12 +02:00
i2c-slave-eeprom.c i2c: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
i2c-smbus.c i2c: i2c-smbus: add of_i2c_setup_smbus_alert 2017-10-28 23:42:47 +02:00
i2c-stub.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
Kconfig treewide: surround Kconfig file paths with double quotes 2018-12-22 00:25:54 +09:00
Makefile i2c: don't use any __deprecated handling anymore 2018-08-24 17:26:43 +02:00