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 /firmware/drivers/pcf50605.c | |
parent | e711de2974c82edb246bcc7da6607cf77d34cf23 (diff) | |
download | rockbox-9beb210007f62eb9e4f4b2013612b87ed33fc67b.tar.gz rockbox-9beb210007f62eb9e4f4b2013612b87ed33fc67b.zip |
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
Diffstat (limited to 'firmware/drivers/pcf50605.c')
-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 94d9d0882f..d34e8512c1 100644 --- a/firmware/drivers/pcf50605.c +++ b/firmware/drivers/pcf50605.c | |||
@@ -91,8 +91,14 @@ int pcf50605_write(int address, unsigned char val) | |||
91 | int pcf50605_write_multiple(int address, const unsigned char* buf, int count) | 91 | int pcf50605_write_multiple(int address, const unsigned char* buf, int count) |
92 | { | 92 | { |
93 | int i; | 93 | int i; |
94 | |||
95 | i2c_lock(); | ||
96 | |||
94 | for (i = 0; i < count; i++) | 97 | for (i = 0; i < count; i++) |
95 | pp_i2c_send(0x8, address + i, buf[i]); | 98 | pp_i2c_send(0x8, address + i, buf[i]); |
99 | |||
100 | i2c_unlock(); | ||
101 | |||
96 | return 0; | 102 | return 0; |
97 | } | 103 | } |
98 | 104 | ||