diff options
author | Ville Syrjala <syrjala@sci.fi> | 2012-03-15 18:11:05 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-19 08:57:59 -0700 |
commit | 35f68010b4311eacf6340473b062418715d68a39 (patch) | |
tree | cb482f2b882598f145a2643bbee9e9e20ddfbbcd /Makefile | |
parent | 90b7d65c8cba8830ede8307a21a76c8757eefa3a (diff) | |
download | lwn-35f68010b4311eacf6340473b062418715d68a39.tar.gz lwn-35f68010b4311eacf6340473b062418715d68a39.zip |
i2c-algo-bit: Fix spurious SCL timeouts under heavy load
commit 8ee161ce5e0cfc689eb677f227a6248191165fac upstream.
When the system is under heavy load, there can be a significant delay
between the getscl() and time_after() calls inside sclhi(). That delay
may cause the time_after() check to trigger after SCL has gone high,
causing sclhi() to return -ETIMEDOUT.
To fix the problem, double check that SCL is still low after the
timeout has been reached, before deciding to return -ETIMEDOUT.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions