mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'iocb' into for-davem
trivial conflict in net/socket.c and non-trivial one in crypto - that one had evaded aio_complete() removal. Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
commit
237dae8890
69 changed files with 199 additions and 266 deletions
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/export.h>
|
||||
#include <linux/hid.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/uio.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
#include <linux/usb/composite.h>
|
||||
|
|
@ -655,9 +656,10 @@ static void ffs_user_copy_worker(struct work_struct *work)
|
|||
unuse_mm(io_data->mm);
|
||||
}
|
||||
|
||||
aio_complete(io_data->kiocb, ret, ret);
|
||||
io_data->kiocb->ki_complete(io_data->kiocb, ret, ret);
|
||||
|
||||
if (io_data->ffs->ffs_eventfd && !io_data->kiocb->ki_eventfd)
|
||||
if (io_data->ffs->ffs_eventfd &&
|
||||
!(io_data->kiocb->ki_flags & IOCB_EVENTFD))
|
||||
eventfd_signal(io_data->ffs->ffs_eventfd, 1);
|
||||
|
||||
usb_ep_free_request(io_data->ep, io_data->req);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include <linux/poll.h>
|
||||
#include <linux/mmu_context.h>
|
||||
#include <linux/aio.h>
|
||||
#include <linux/uio.h>
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/moduleparam.h>
|
||||
|
|
@ -469,7 +470,7 @@ static void ep_user_copy_worker(struct work_struct *work)
|
|||
ret = -EFAULT;
|
||||
|
||||
/* completing the iocb can drop the ctx and mm, don't touch mm after */
|
||||
aio_complete(iocb, ret, ret);
|
||||
iocb->ki_complete(iocb, ret, ret);
|
||||
|
||||
kfree(priv->buf);
|
||||
kfree(priv->to_free);
|
||||
|
|
@ -497,7 +498,8 @@ static void ep_aio_complete(struct usb_ep *ep, struct usb_request *req)
|
|||
kfree(priv);
|
||||
iocb->private = NULL;
|
||||
/* aio_complete() reports bytes-transferred _and_ faults */
|
||||
aio_complete(iocb, req->actual ? req->actual : req->status,
|
||||
|
||||
iocb->ki_complete(iocb, req->actual ? req->actual : req->status,
|
||||
req->status);
|
||||
} else {
|
||||
/* ep_copy_to_user() won't report both; we hide some faults */
|
||||
|
|
|
|||
Loading…
Reference in a new issue