diff -pNaur -X linux-2.6.25-rc1/Documentation/dontdiff linux-2.6.25-rc1/drivers/char/drm/i915_drv.c linux-2.6.25-rc1-i915/drivers/char/drm/i915_drv.c --- linux-2.6.25-rc1/drivers/char/drm/i915_drv.c 2008-02-10 14:18:14.000000000 -0800 +++ linux-2.6.25-rc1-i915/drivers/char/drm/i915_drv.c 2008-02-20 15:06:58.000000000 -0800 @@ -160,6 +160,7 @@ static void i915_save_vga(struct drm_dev dev_priv->saveAR[i] = i915_read_ar(st01, i, 0); inb(st01); outb(dev_priv->saveAR_INDEX, VGA_AR_INDEX); + inb(st01); /* Graphics controller registers */ for (i = 0; i < 9; i++) @@ -221,10 +222,12 @@ static void i915_restore_vga(struct drm_ dev_priv->saveGR[0x18]); /* Attribute controller registers */ + inb(st01); /* switch back to index mode */ for (i = 0; i < 20; i++) i915_write_ar(st01, i, dev_priv->saveAR[i], 0); inb(st01); /* switch back to index mode */ outb(dev_priv->saveAR_INDEX | 0x20, VGA_AR_INDEX); + inb(st01); /* VGA color palette registers */ outb(dev_priv->saveDACMASK, VGA_DACMASK);