aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86_64/kernel/pci-gart.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c
index 0c3f052ba6ce..ebd125e968be 100644
--- a/arch/x86_64/kernel/pci-gart.c
+++ b/arch/x86_64/kernel/pci-gart.c
@@ -148,9 +148,12 @@ static void flush_gart(struct device *dev)
148 if (!northbridges[i]) 148 if (!northbridges[i])
149 continue; 149 continue;
150 /* Make sure the hardware actually executed the flush. */ 150 /* Make sure the hardware actually executed the flush. */
151 do { 151 for (;;) {
152 pci_read_config_dword(northbridges[i], 0x9c, &w); 152 pci_read_config_dword(northbridges[i], 0x9c, &w);
153 } while (w & 1); 153 if (!(w & 1))
154 break;
155 cpu_relax();
156 }
154 } 157 }
155 if (!flushed) 158 if (!flushed)
156 printk("nothing to flush?\n"); 159 printk("nothing to flush?\n");