]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: designware: ratelimit 'transfer when suspended' errors
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Wed, 24 Apr 2019 16:16:32 +0000 (18:16 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 2 May 2019 16:26:48 +0000 (18:26 +0200)
commit0a798dc2b7d013493c49a4b87bb6e2701c8c1a7a
treee042e005eaad9ef82b399dc9b2a9fb6adce8ce1d
parent00d29ad970fb8d3d7c2655015073ecca0e095a92
i2c: designware: ratelimit 'transfer when suspended' errors

There are two problems with dev_err() here. One: It is not ratelimited.
Two: We don't see which driver tried to transfer something with a
suspended adapter. Switch to dev_WARN_ONCE to fix both issues. Drawback
is that we don't see if multiple drivers are trying to transfer 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.

Link: https://bugs.archlinux.org/task/62391
Fixes: 43ca8898a486 ("i2c: designware: Do not allow i2c_dw_xfer() calls while suspended")
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reported-by: skidnik <skidnik@gmail.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: skidnik <skidnik@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-master.c