agp/uninorth: Fix oops caused by flushing too much
authorPaul Mackerras <paulus@samba.org>
Tue, 1 Jun 2010 19:33:08 +0000 (19:33 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 2 Jun 2010 07:50:37 +0000 (17:50 +1000)
commit79905ad50bcf025deb81382413719ed600734941
tree20e5b02a6accf2bc73bf19f3ec2fc4a42f70eb26
parent92e197095e0aa59273decbeaa4b63de58e342355
agp/uninorth: Fix oops caused by flushing too much

This fixes a sporadic oops at boot on G5 Power Macs.  The table_end
variable has the address of the last byte of the table.  Adding on
PAGE_SIZE means we flush too much, and if the page after the table
is not mapped for any reason, the kernel will oops.  Instead we add
on 1 because flush_dcache_range() interprets its second argument as
the first byte past the range to be flushed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
drivers/char/agp/uninorth-agp.c