On Wed, Jan 18, 2012 at 12:00 PM, Sean Paul <[email protected]> wrote:
> Fixes a bug in the asus_oled driver where values of '0' and ' ' are ignored in
> append_values. The bug was introduced in commit 1ff12a4aa.
>
> Signed-off-by: Sean Paul <[email protected]>
> ---
>  drivers/staging/asus_oled/asus_oled.c |   10 ++++++++--
>  1 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/asus_oled/asus_oled.c 
> b/drivers/staging/asus_oled/asus_oled.c
> index e77e4e0..96ce29e 100644
> --- a/drivers/staging/asus_oled/asus_oled.c
> +++ b/drivers/staging/asus_oled/asus_oled.c
> @@ -355,7 +355,13 @@ 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) {
> +       if (!val) {
> +               odev->last_val = val;
> +               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;
> @@ -534,7 +540,7 @@ static ssize_t odev_set_picture(struct asus_oled_dev 
> *odev,
>                        return -ENOMEM;
>                }
>
> -               memset(odev->buf, 0xff, odev->buf_size);
> +               memset(odev->buf, 0x00, odev->buf_size);

This is a bug, I'm sending a patch to remove this chunk.

>
>                odev->buf_offs = 0;
>                odev->width = w;
> --
> 1.7.7.3
>
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to