diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-06-29 12:04:17 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-06-29 12:04:17 -0700 |
| commit | 25c69bf35b1a493ab8c8aca28afd9bb9d0d5d26c (patch) | |
| tree | b186b8c104e3e94d06dc31d8305c47d6a8995194 /drivers/misc/vmw_balloon.c | |
| parent | ae8a7e6903c2a6201226b3aabb0d7673c6a5f042 (diff) | |
| parent | 563a330876f64f5289d0886857947c7bd469f907 (diff) | |
Merge "Merge android-4.4.138 (07c0138) into msm-4.4"
Diffstat (limited to 'drivers/misc/vmw_balloon.c')
| -rw-r--r-- | drivers/misc/vmw_balloon.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c index 1e688bfec567..fe90b7e04427 100644 --- a/drivers/misc/vmw_balloon.c +++ b/drivers/misc/vmw_balloon.c @@ -576,15 +576,9 @@ static void vmballoon_pop(struct vmballoon *b) } } - if (b->batch_page) { - vunmap(b->batch_page); - b->batch_page = NULL; - } - - if (b->page) { - __free_page(b->page); - b->page = NULL; - } + /* Clearing the batch_page unconditionally has no adverse effect */ + free_page((unsigned long)b->batch_page); + b->batch_page = NULL; } /* @@ -991,16 +985,13 @@ static const struct vmballoon_ops vmballoon_batched_ops = { static bool vmballoon_init_batching(struct vmballoon *b) { - b->page = alloc_page(VMW_PAGE_ALLOC_NOSLEEP); - if (!b->page) - return false; + struct page *page; - b->batch_page = vmap(&b->page, 1, VM_MAP, PAGE_KERNEL); - if (!b->batch_page) { - __free_page(b->page); + page = alloc_page(GFP_KERNEL | __GFP_ZERO); + if (!page) return false; - } + b->batch_page = page_address(page); return true; } |
