Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 144607
b: refs/heads/master
c: 2196d1c
h: refs/heads/master
i:
  144605: 3e64ce4
  144603: 944a6eb
  144599: 992befc
  144591: 59f8a8a
  144575: 5cac01f
v: v3
  • Loading branch information
Enrik Berkhan authored and Jean Delvare committed May 5, 2009
1 parent a0beb64 commit 075269d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0cdba07bb23cdd3e0d64357ec3d983e6b75e541f
refs/heads/master: 2196d1cf4afab93fb64c2e5b417096e49b661612
11 changes: 11 additions & 0 deletions trunk/drivers/i2c/algos/i2c-algo-pca.c
Original file line number Diff line number Diff line change
Expand Up @@ -287,10 +287,21 @@ static int pca_xfer(struct i2c_adapter *i2c_adap,

case 0x30: /* Data byte in I2CDAT has been transmitted; NOT ACK has been received */
DEB2("NOT ACK received after data byte\n");
pca_stop(adap);
goto out;

case 0x38: /* Arbitration lost during SLA+W, SLA+R or data bytes */
DEB2("Arbitration lost\n");
/*
* The PCA9564 data sheet (2006-09-01) says "A
* START condition will be transmitted when the
* bus becomes free (STOP or SCL and SDA high)"
* when the STA bit is set (p. 11).
*
* In case this won't work, try pca_reset()
* instead.
*/
pca_start(adap);
goto out;

case 0x58: /* Data byte has been received; NOT ACK has been returned */
Expand Down

0 comments on commit 075269d

Please sign in to comment.