diff options
-rw-r--r-- | arch/mips/sgi/kernel/indy_sc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/mips/sgi/kernel/indy_sc.c b/arch/mips/sgi/kernel/indy_sc.c index 1d58ab7b2..2aff56637 100644 --- a/arch/mips/sgi/kernel/indy_sc.c +++ b/arch/mips/sgi/kernel/indy_sc.c @@ -1,4 +1,4 @@ -/* $Id: indy_sc.c,v 1.7 1999/05/07 22:25:11 ulfc Exp $ +/* $Id: indy_sc.c,v 1.8 1999/05/10 17:40:16 ulfc Exp $ * * indy_sc.c: Indy cache managment functions. * @@ -70,7 +70,10 @@ static void indy_sc_wback_invalidate(unsigned long addr, unsigned long size) #endif /* Which lines to flush? */ first_line = SC_INDEX(addr); - last_line = SC_INDEX(SC_ROUND(addr + size)); + if (size <= SC_LINE) + last_line = SC_INDEX(addr); + else + last_line = SC_INDEX(addr + size - 1); __save_and_cli(flags); if (first_line <= last_line) { |