[PATCH] ppc highmem fix
authorPaolo Galtieri <pgaltieri@mvista.com>
Tue, 11 Oct 2005 15:29:07 +0000 (08:29 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 11 Oct 2005 16:46:54 +0000 (09:46 -0700)
commita0c111c631e7ab4abd68920debd44259160812ef
treebfcafa019ba2fb2bf38e5a07f9f5958b7ecb697f
parent1bef40032992320dd25a266fc166bfb8fa3f2f59
[PATCH] ppc highmem fix

I've noticed that the calculations for seg_size and nr_segs in
__dma_sync_page_highmem() (arch/ppc/kernel/dma-mapping.c) are wrong.  The
incorrect calculations can result in either an oops or a panic when running
fsck depending on the size of the partition.

The problem with the seg_size calculation is that it can result in a
negative number if size is offset > size.  The problem with the nr_segs
caculation is returns the wrong number of segments, e.g.  it returns 1 when
size is 200 and offset is 4095, when it should return 2 or more.

Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/ppc/kernel/dma-mapping.c