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:
3c1b86f
)
Staging: asus_oled: fix image processing
author
Pekka Paalanen
<
[email protected]
>
Sun, 22 Jan 2012 14:33:46 +0000
(16:33 +0200)
committer
Greg Kroah-Hartman
<
[email protected]
>
Wed, 8 Feb 2012 22:14:13 +0000
(14:14 -0800)
Programming an image was broken, because odev->buf_offs was not advanced
for val == 0 in append_values(). This regression was introduced in:
commit
1ff12a4aa354bed093a0240d5e6347b1e27601bc
Author: Kevin A. Granade <
[email protected]
>
Date: Sat Sep 5 01:03:39 2009 -0500
Staging: asus_oled: Cleaned up checkpatch issues.
Fix the image processing by special-casing val == 0.
I have tested this change on an Asus G50V laptop only.
Cc: Jakub Schmidtke <
[email protected]
>
Cc: Kevin A. Granade <
[email protected]
>
Signed-off-by: Pekka Paalanen <
[email protected]
>
Cc: stable <
[email protected]
>
Signed-off-by: Greg Kroah-Hartman <
[email protected]
>
drivers/staging/asus_oled/asus_oled.c
patch
|
blob
|
history
diff --git
a/drivers/staging/asus_oled/asus_oled.c
b/drivers/staging/asus_oled/asus_oled.c
index e77e4e0396cf9f4debc146e7a4816e01c4928271..2fdc5db68e1a09afebef37c3e6fea52f3df70ef2 100644
(file)
--- a/
drivers/staging/asus_oled/asus_oled.c
+++ b/
drivers/staging/asus_oled/asus_oled.c
@@
-355,7
+355,14
@@
static void send_data(struct asus_oled_dev *odev)
static int append_values(struct asus_oled_dev *odev, uint8_t val, size_t count)
{
- while (count-- > 0 && val) {
+ odev->last_val = val;
+
+ if (val == 0) {
+ odev->buf_offs += count;
+ return 0;
+ }
+
+ while (count-- > 0) {
size_t x = odev->buf_offs % odev->width;
size_t y = odev->buf_offs / odev->width;
size_t i;
@@
-406,7
+413,6
@@
static int append_values(struct asus_oled_dev *odev, uint8_t val, size_t count)
;
}
- odev->last_val = val;
odev->buf_offs++;
}