Merge tag 'char-misc-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char/misc driver fixes from Greg KH:
"Here are two char/misc fixes for 4.0-rc3.

One is a reported binder driver fix needed due to a change in the mm
core that happened in 4.0-rc1. Another is a mei driver fix that
resolves a reported issue in that driver.

Both have been in linux-next for a while"

* tag 'char-misc-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
mei: make device disabled on stop unconditionally
android: binder: fix binder mmap failures

+7 -5
+5 -5
drivers/android/binder.c
··· 551 { 552 void *page_addr; 553 unsigned long user_page_addr; 554 - struct vm_struct tmp_area; 555 struct page **page; 556 struct mm_struct *mm; 557 ··· 599 proc->pid, page_addr); 600 goto err_alloc_page_failed; 601 } 602 - tmp_area.addr = page_addr; 603 - tmp_area.size = PAGE_SIZE + PAGE_SIZE /* guard page? */; 604 - ret = map_vm_area(&tmp_area, PAGE_KERNEL, page); 605 - if (ret) { 606 pr_err("%d: binder_alloc_buf failed to map page at %p in kernel\n", 607 proc->pid, page_addr); 608 goto err_map_kernel_failed;
··· 551 { 552 void *page_addr; 553 unsigned long user_page_addr; 554 struct page **page; 555 struct mm_struct *mm; 556 ··· 600 proc->pid, page_addr); 601 goto err_alloc_page_failed; 602 } 603 + ret = map_kernel_range_noflush((unsigned long)page_addr, 604 + PAGE_SIZE, PAGE_KERNEL, page); 605 + flush_cache_vmap((unsigned long)page_addr, 606 + (unsigned long)page_addr + PAGE_SIZE); 607 + if (ret != 1) { 608 pr_err("%d: binder_alloc_buf failed to map page at %p in kernel\n", 609 proc->pid, page_addr); 610 goto err_map_kernel_failed;
+2
drivers/misc/mei/init.c
··· 341 342 dev->dev_state = MEI_DEV_POWER_DOWN; 343 mei_reset(dev); 344 345 mutex_unlock(&dev->device_lock); 346
··· 341 342 dev->dev_state = MEI_DEV_POWER_DOWN; 343 mei_reset(dev); 344 + /* move device to disabled state unconditionally */ 345 + dev->dev_state = MEI_DEV_DISABLED; 346 347 mutex_unlock(&dev->device_lock); 348