aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drm_compat.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux-core/drm_compat.c')
-rw-r--r--linux-core/drm_compat.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/linux-core/drm_compat.c b/linux-core/drm_compat.c
index 86bae306..162e4656 100644
--- a/linux-core/drm_compat.c
+++ b/linux-core/drm_compat.c
@@ -59,9 +59,14 @@ static inline void change_pte_range(struct mm_struct *mm, pmd_t * pmd,
do {
if (pte_present(*pte)) {
pte_t ptent;
- ptent = *pte;
ptep_get_and_clear(mm, addr, pte);
+ ptent = *pte;
lazy_mmu_prot_update(ptent);
+ } else {
+ ptep_get_and_clear(mm, addr, pte);
+ }
+ if (!pte_none(*pte)) {
+ DRM_ERROR("Ugh. Pte was presen\n");
}
} while (pte++, addr += PAGE_SIZE, addr != end);
pte_unmap(pte - 1);