diff options
author | Alexander Holler <holler@ahsoftware.de> | 2012-04-20 18:11:07 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-07-24 16:52:37 -0400 |
commit | 2fe2d9f47cfe1a3e66e7d087368b3d7155b04c15 (patch) | |
tree | 6fc0ace9a4dfc898ff56f3cc5d72d293755a9ff3 /drivers/video | |
parent | 659f675e4b79c3b0821f7aab377177007b4ba3fd (diff) |
video/smscufx: fix line counting in fb_write
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 <holler@ahsoftware.de>
Cc: stable@vger.kernel.org
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | 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 af3ef27ad36c..f39e0690f484 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, | |||
904 | result = fb_sys_write(info, buf, count, ppos); | 904 | result = fb_sys_write(info, buf, count, ppos); |
905 | 905 | ||
906 | if (result > 0) { | 906 | if (result > 0) { |
907 | int start = max((int)(offset / info->fix.line_length) - 1, 0); | 907 | int start = max((int)(offset / info->fix.line_length), 0); |
908 | int lines = min((u32)((result / info->fix.line_length) + 1), | 908 | int lines = min((u32)((result / info->fix.line_length) + 1), |
909 | (u32)info->var.yres); | 909 | (u32)info->var.yres); |
910 | 910 | ||