projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
05cf936
)
i2c: sh_mobile: fix timeout error handling
author
Guennadi Liakhovetski
<g.liakhovetski@gmx.de>
Thu, 17 Jan 2013 09:45:55 +0000
(10:45 +0100)
committer
Wolfram Sang
<wolfram@the-dreams.de>
Sun, 10 Feb 2013 18:55:23 +0000
(19:55 +0100)
In a timeout case return an error immediately from the driver's
.master_xfer() method, instead of continuing and letting higher layers
fail.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
drivers/i2c/busses/i2c-sh_mobile.c
patch
|
blob
|
history
diff --git
a/drivers/i2c/busses/i2c-sh_mobile.c
b/drivers/i2c/busses/i2c-sh_mobile.c
index 34024f3a19f5133f281441ecf32f1a661d7752b6..daaf0ebe8177dbbe3893aabb95f218287d50308a 100644
(file)
--- a/
drivers/i2c/busses/i2c-sh_mobile.c
+++ b/
drivers/i2c/busses/i2c-sh_mobile.c
@@
-521,8
+521,11
@@
static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
k = wait_event_timeout(pd->wait,
pd->sr & (ICSR_TACK | SW_DONE),
5 * HZ);
- if (!k)
+ if (!k)
{
dev_err(pd->dev, "Transfer request timed out\n");
+ err = -ETIMEDOUT;
+ break;
+ }
retry_count = 1000;
again: