Thread (6 messages) 6 messages, 2 authors, 2012-07-30

Re: [PATCH] video/smscufx: fix line counting in fb_write

flat view

From: Alexander Holler <hidden>
Date: 2012-07-02 21:36:01
Also in: lkml

Hi Florian,

sorry for the late answer.

Am 13.05.2012 14:47, schrieb Florian Tobias Schandinat:
Hi Alexander,

On 04/21/2012 11:26 AM, Alexander Holler wrote:
quoted
Hello,

as for the patch for udlfb, I forgot to mention that this is a candidate
for all stable trees 3.2 and above.

Btw., the address of the maintainer doesn't seem to be valid anymore.
it is better to cc me on patches to the framebuffer subsystem for such
cases. I don't have much free time so it's rare that I come around to
dig in the mailing list.
quoted
Regards,

Alexander

Am 21.04.2012 00:11, schrieb Alexander Holler:
quoted
Line 0 and 1 were both written to line 0 (on the display) and all
subsequent
lines had an offset of -1. The result was that the last line on the
display
was never overwritten by writes to /dev/fbN.

The origin of this bug seems to have been udlfb.

Signed-off-by: Alexander Holler<redacted>
Cc: stable@vger.kernel.org
Patch looks good to me but can be made simpler.
quoted
quoted
---
   drivers/video/smscufx.c |    2 +-
   1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/smscufx.c b/drivers/video/smscufx.c
index ccbfef5..1e1e2d2 100644
--- a/drivers/video/smscufx.c
+++ b/drivers/video/smscufx.c
@@ -904,7 +904,7 @@ static ssize_t ufx_ops_write(struct fb_info *info,
const char __user *buf,
       result = fb_sys_write(info, buf, count, ppos);

       if (result>  0) {
-        int start = max((int)(offset / info->fix.line_length) - 1, 0);
+        int start = max((int)(offset / info->fix.line_length), 0);
the cast to int as well as the max is superfluous without the -1 as the
value can no longer be negative.
I had that impression too, but I wanted to change as less as possible, 
so I didn't had the need to check types and (their) sizes for possible 
overflows or such. I was lazy and just wanted to fix that one bug. ;)
quoted
quoted
           int lines = min((u32)((result / info->fix.line_length) + 1),
                   (u32)info->var.yres);
Regards,

Alexander
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help