diff options
-rw-r--r-- | drivers/video/uvesafb.c | 11 |
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; |