From: James Simmons Here are the patches you need. They are against 2.6.3-mm1. Thanks. --- drivers/video/fbmem.c | 2 +- drivers/video/riva/fbdev.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff -puN drivers/video/fbmem.c~cursor-fix drivers/video/fbmem.c --- 25/drivers/video/fbmem.c~cursor-fix 2004-02-19 12:30:20.000000000 -0800 +++ 25-akpm/drivers/video/fbmem.c 2004-02-19 12:30:20.000000000 -0800 @@ -1333,7 +1333,7 @@ unregister_framebuffer(struct fb_info *f if (fb_info->pixmap.addr && (fb_info->pixmap.flags & FB_PIXMAP_DEFAULT)) kfree(fb_info->pixmap.addr); - if (fb_info->sprite.addr && (fb_info->pixmap.flags & FB_PIXMAP_DEFAULT)) + if (fb_info->sprite.addr && (fb_info->sprite.flags & FB_PIXMAP_DEFAULT)) kfree(fb_info->sprite.addr); registered_fb[i]=NULL; num_registered_fb--; diff -puN drivers/video/riva/fbdev.c~cursor-fix drivers/video/riva/fbdev.c --- 25/drivers/video/riva/fbdev.c~cursor-fix 2004-02-19 12:30:20.000000000 -0800 +++ 25-akpm/drivers/video/riva/fbdev.c 2004-02-19 12:30:20.000000000 -0800 @@ -1530,9 +1530,9 @@ static int rivafb_cursor(struct fb_info break; } - move_buf_aligned(info, data, src, d_pitch, s_pitch, info->cursor.image.height); + fb_move_buf_aligned(info, &info->sprite, data, d_pitch, src, s_pitch, info->cursor.image.height); - move_buf_aligned(info, mask, msk, d_pitch, s_pitch, info->cursor.image.height); + fb_move_buf_aligned(info, &info->sprite, mask, d_pitch, msk, s_pitch, info->cursor.image.height); bg = ((info->cmap.red[bg_idx] & 0xf8) << 7) | ((info->cmap.green[bg_idx] & 0xf8) << 2) | _