aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/uvesafb.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index 7f8472cc993..881358859d8 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -815,8 +815,15 @@ static int __devinit uvesafb_vbe_init(struct fb_info *info)
815 par->pmi_setpal = pmi_setpal; 815 par->pmi_setpal = pmi_setpal;
816 par->ypan = ypan; 816 par->ypan = ypan;
817 817
818 if (par->pmi_setpal || par->ypan) 818 if (par->pmi_setpal || par->ypan) {
819 uvesafb_vbe_getpmi(task, par); 819 if (__supported_pte_mask & _PAGE_NX) {
820 par->pmi_setpal = par->ypan = 0;
821 printk(KERN_WARNING "uvesafb: NX protection is actively."
822 "We have better not to use the PMI.\n");
823 } else {
824 uvesafb_vbe_getpmi(task, par);
825 }
826 }
820#else 827#else
821 /* The protected mode interface is not available on non-x86. */ 828 /* The protected mode interface is not available on non-x86. */
822 par->pmi_setpal = par->ypan = 0; 829 par->pmi_setpal = par->ypan = 0;