[PATCH] nvidiafb: Fix bug in nvidiafb_pan_display

From: Antonino A. Daplas
Date: Fri Nov 11 2005 - 18:32:04 EST


nvidiafb_pan_display() is incorrectly using the fields in
info->var instead of var passed to the function.

Signed-off-by: Antonino Daplas <adaplas@xxxxxxx>
---

Andrew Morton wrote:
> Michal Piotrowski <michal.k.k.piotrowski@xxxxxxxxx> wrote:
>> Hi,
>>
>> On 11/11/05, Andrew Morton <akpm@xxxxxxxx> wrote:
>>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14/2.6.14-mm2/
>>>
>> Something is broken with nvidia framebuffer. When I try to login on
>> tty1 "Password: " doesn't appear. It appear when I switch Alt+F2 to
>> tty2 and then back to tty1.
>>
>
> Yup, thanks. Yesterday Ben reported:
>
>> not 100% sure what's up, but current -git has funny breakage with
>> nvidiafb on an iMac G5 I have here. The mode seems correct but the
>> console uses one line too much of text.
>>
>> That is, the total height of the screen isn't a multiple of the height
>> of a line of text. It seems that fbcon is rounding up instead of down,
>> thus the "last" line is basically going offscreen (about 2 or 3 pixels
>> visible, the rest is offscreen).
>>
>

Looks like a bug in nvidiafb_pan_display() which was revealed when I
changed the semantics of update_var/update_start.

Try this patch.

Tony

nvidia.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)


diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c
index 0b40a2a..bee09c6 100644
--- a/drivers/video/nvidia/nvidia.c
+++ b/drivers/video/nvidia/nvidia.c
@@ -1301,7 +1301,7 @@ static int nvidiafb_pan_display(struct f
struct nvidia_par *par = info->par;
u32 total;

- total = info->var.yoffset * info->fix.line_length + info->var.xoffset;
+ total = var->yoffset * info->fix.line_length + var->xoffset;

NVSetStartAddress(par, total);


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/