From: Rui Miguel Silva Date: Mon, 18 May 2015 15:02:07 +0000 (+0100) Subject: usb: gadget: f_fs: do not set cancel function on synchronous {read,write} X-Git-Tag: submit/tizen/20160107.053914~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6caa2430945549f520f466e091ca8edf302af2be;p=platform%2Fkernel%2Flinux-exynos.git usb: gadget: f_fs: do not set cancel function on synchronous {read,write} do not try to set cancel function in synchronous operations in ffs_epfile_{read,write}_iter. Cc: # v4.0+ Acked-by: Al Viro Signed-off-by: Rui Miguel Silva Signed-off-by: Felipe Balbi [Backported from mainline commit 4088acf1e845aba35f30fb91dee10649edbd0e84] Change-Id: Icd247a1b83a6b905be4aa54343ce979165f7e17d Signed-off-by: Krzysztof Opasiak --- diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 175c9956cbe3..cd560029b106 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -923,7 +923,8 @@ static ssize_t ffs_epfile_write_iter(struct kiocb *kiocb, struct iov_iter *from) kiocb->private = p; - kiocb_set_cancel_fn(kiocb, ffs_aio_cancel); + if (p->aio) + kiocb_set_cancel_fn(kiocb, ffs_aio_cancel); res = ffs_epfile_io(kiocb->ki_filp, p); if (res == -EIOCBQUEUED) @@ -967,7 +968,8 @@ static ssize_t ffs_epfile_read_iter(struct kiocb *kiocb, struct iov_iter *to) kiocb->private = p; - kiocb_set_cancel_fn(kiocb, ffs_aio_cancel); + if (p->aio) + kiocb_set_cancel_fn(kiocb, ffs_aio_cancel); res = ffs_epfile_io(kiocb->ki_filp, p); if (res == -EIOCBQUEUED)