| From 4088acf1e845aba35f30fb91dee10649edbd0e84 Mon Sep 17 00:00:00 2001 |
| From: Rui Miguel Silva <rui.silva@linaro.org> |
| Date: Mon, 18 May 2015 16:02:07 +0100 |
| Subject: usb: gadget: f_fs: do not set cancel function on synchronous {read,write} |
| |
| From: Rui Miguel Silva <rui.silva@linaro.org> |
| |
| commit 4088acf1e845aba35f30fb91dee10649edbd0e84 upstream. |
| |
| do not try to set cancel function in synchronous operations in |
| ffs_epfile_{read,write}_iter. |
| |
| Acked-by: Al Viro <viro@ZenIV.linux.org.uk> |
| Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> |
| Signed-off-by: Felipe Balbi <balbi@ti.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/gadget/function/f_fs.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/usb/gadget/function/f_fs.c |
| +++ b/drivers/usb/gadget/function/f_fs.c |
| @@ -924,7 +924,8 @@ static ssize_t ffs_epfile_write_iter(str |
| |
| 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) |
| @@ -968,7 +969,8 @@ static ssize_t ffs_epfile_read_iter(stru |
| |
| 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) |