projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2422084
)
i2c-omap: Make sure i2c bus is free before setting it to idle
author
Mathias Nyman
<
[email protected]
>
Thu, 26 Aug 2010 07:36:44 +0000
(07:36 +0000)
committer
Ben Dooks
<
[email protected]
>
Wed, 22 Sep 2010 00:06:58 +0000
(
01:06
+0100)
If the i2c bus receives an interrupt with both BB (bus busy) and
ARDY (register access ready) statuses set during the tranfer of the last message
the bus was put to idle while still busy.
This caused bus to timeout.
Signed-off-by: Mathias Nyman <
[email protected]
>
Acked-by: Tony Lindgren <
[email protected]
>
Signed-off-by: Ben Dooks <
[email protected]
>
drivers/i2c/busses/i2c-omap.c
patch
|
blob
|
history
diff --git
a/drivers/i2c/busses/i2c-omap.c
b/drivers/i2c/busses/i2c-omap.c
index 7674efb553786e4e2a639c5a5b263362564b626b..b33c78586bfccf815d9322df1d561b7bec5797b5 100644
(file)
--- a/
drivers/i2c/busses/i2c-omap.c
+++ b/
drivers/i2c/busses/i2c-omap.c
@@
-680,6
+680,8
@@
omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
if (r == 0)
r = num;
+
+ omap_i2c_wait_for_bb(dev);
out:
omap_i2c_idle(dev);
return r;