fsl_diu: fix alignment error that caused malloc corruption
authorNikita V. Youshchenko <yoush@cs.msu.su>
Thu, 2 Oct 2008 20:03:55 +0000 (00:03 +0400)
committerWolfgang Denk <wd@denx.de>
Tue, 14 Oct 2008 13:29:37 +0000 (15:29 +0200)
commitec4d8c1c1d94a790c1473ae8aace282b817c3123
treebbe1aa2335efd9058e66135995c7dbf2ee34c526
parent3d0ea3110f3431b6c2aee882784f39f97b20bce9
fsl_diu: fix alignment error that caused malloc corruption

When aligning malloc()ed screen_base, invalid offset was added.
This not only caused misaligned result (which did not cause hardware
misbehaviour), but - worse - caused screen_base + smem_len to
be out of malloc()ed space, which in turn caused breakage of
futher malloc()/free() operation.

This patch fixes screen_base alignment.

Also this patch makes memset() that cleans framebuffer to be executed
on first initialization of diu, not only on re-initialization. It looks
correct to clean the framebuffer instead of displaying random garbage;
I believe that was disabled only because that memset caused breakage
of malloc/free described above - which no longer happens with the fix
described above.

Signed-off-by: Nikita V. Youshchenko <yoush@debian.org>
board/freescale/common/fsl_diu_fb.c