diff options
| author | Michael Sevakis <jethead71@rockbox.org> | 2007-11-26 07:59:42 +0000 |
|---|---|---|
| committer | Michael Sevakis <jethead71@rockbox.org> | 2007-11-26 07:59:42 +0000 |
| commit | 9beb210007f62eb9e4f4b2013612b87ed33fc67b (patch) | |
| tree | 56b697202368bc77a36023d97399abcf149b201f | |
| parent | e711de2974c82edb246bcc7da6607cf77d34cf23 (diff) | |
| download | rockbox-9beb210007f62eb9e4f4b2013612b87ed33fc67b.zip rockbox-9beb210007f62eb9e4f4b2013612b87ed33fc67b.tar.gz rockbox-9beb210007f62eb9e4f4b2013612b87ed33fc67b.tar.bz2 rockbox-9beb210007f62eb9e4f4b2013612b87ed33fc67b.tar.xz | |
pcf50605_write_multiple must prelock driver or the series of bytes may be interrupted resulting in something you didn't intend. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15807 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/pcf50605.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/drivers/pcf50605.c b/firmware/drivers/pcf50605.c index 94d9d08..d34e851 100644 --- a/firmware/drivers/pcf50605.c +++ b/firmware/drivers/pcf50605.c @@ -91,8 +91,14 @@ int pcf50605_write(int address, unsigned char val) int pcf50605_write_multiple(int address, const unsigned char* buf, int count) { int i; + + i2c_lock(); + for (i = 0; i < count; i++) pp_i2c_send(0x8, address + i, buf[i]); + + i2c_unlock(); + return 0; } |