aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/agp/i460-agp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/agp/i460-agp.c')
-rw-r--r--drivers/char/agp/i460-agp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/char/agp/i460-agp.c b/drivers/char/agp/i460-agp.c
index 58944cd271ea..be2e569ae910 100644
--- a/drivers/char/agp/i460-agp.c
+++ b/drivers/char/agp/i460-agp.c
@@ -514,9 +514,10 @@ static void *i460_alloc_page (struct agp_bridge_data *bridge)
514{ 514{
515 void *page; 515 void *page;
516 516
517 if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) 517 if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) {
518 page = agp_generic_alloc_page(agp_bridge); 518 page = agp_generic_alloc_page(agp_bridge);
519 else 519 global_flush_tlb();
520 } else
520 /* Returning NULL would cause problems */ 521 /* Returning NULL would cause problems */
521 /* AK: really dubious code. */ 522 /* AK: really dubious code. */
522 page = (void *)~0UL; 523 page = (void *)~0UL;
@@ -525,8 +526,10 @@ static void *i460_alloc_page (struct agp_bridge_data *bridge)
525 526
526static void i460_destroy_page (void *page) 527static void i460_destroy_page (void *page)
527{ 528{
528 if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) 529 if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) {
529 agp_generic_destroy_page(page); 530 agp_generic_destroy_page(page);
531 global_flush_tlb();
532 }
530} 533}
531 534
532#endif /* I460_LARGE_IO_PAGES */ 535#endif /* I460_LARGE_IO_PAGES */