linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Stultz <john.stultz@linaro.org>
To: Michal Nazarewicz <mina86@mina86.com>
Cc: Chen Yu <chenyu56@huawei.com>,
	Felipe Balbi <felipe.balbi@linux.intel.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Biggo Wang <wangbinghui@hisilicon.com>,
	Amit Pundir <amit.pundir@linaro.org>,
	Guodong Xu <guodong.xu@linaro.org>,
	lkml <linux-kernel@vger.kernel.org>,
	linux-usb@vger.kernel.org
Subject: Re: [PATCH 2/2] usb: gadget: f_fs: stop sleeping in ffs_func_eps_disable
Date: Mon, 3 Oct 2016 17:26:06 -0700	[thread overview]
Message-ID: <CALAqxLXAik6KJVJB7R7irME4c8tKREvnh2z6s7wNBuJpkkuhOw@mail.gmail.com> (raw)
In-Reply-To: <1475539654-31945-2-git-send-email-mina86@mina86.com>

On Mon, Oct 3, 2016 at 5:07 PM, Michal Nazarewicz <mina86@mina86.com> wrote:
> ffs_func_eps_disable is called from atomic context so it cannot sleep
> thus cannot grab a mutex.  Change the handling of epfile->read_buffer
> to use non-sleeping synchronisation method.
>
> Reported-by: Chen Yu <chenyu56@huawei.com>
> Signed-off-by: Michał Nazarewicz <mina86@mina86.com>
> Fixes: 9353afbbfa7b ("buffer data from ‘oversized’ OUT requests")
> Tested-by: Chen Yu <chenyu56@huawei.com>
> ---
>  drivers/usb/gadget/function/f_fs.c | 109 +++++++++++++++++++++++++++++++------
>  1 file changed, 93 insertions(+), 16 deletions(-)
>
> Compared to the previous version:
> • this one has a bit more comments (I feel like it’s a bad sign that
>   this needs so much documentation);
> • ffs_epfile_realese sets read_buffer to READ_BUFFER_DROP (which
>   doesn’t matter since on entry __ffs_epfile_read_buffered behaves
>   the same way when read_buffer is NULL or READ_BUFFER_DROP); and
> • __ffs_epfile_read_data will drop the temporary data if read_buffer
>   is READ_BUFFER_DROP (which may happen if ep is disabled between ep
>   request finishes and data is copied to user space).
>
> Chen, John, if you could test this version as well, that would be
> swell.

for both patches:

Tested-by: John Stultz <john.stultz@linaro.org>

Thanks so much for these!
-john

  reply	other threads:[~2016-10-04  0:26 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-27  9:44 BUG: scheduling while atomic in f_fs when gadget remove driver Chen Yu
2016-09-27 10:01 ` Felipe Balbi
2016-09-28  9:47   ` Chen Yu
2016-09-28 16:31     ` Michal Nazarewicz
2016-09-28 21:38       ` Michal Nazarewicz
2016-09-30  1:49         ` Chen Yu
2016-10-03 19:19         ` John Stultz
2016-10-03 20:07           ` Michal Nazarewicz
2016-10-03 20:16             ` John Stultz
2016-10-03 23:36               ` John Stultz
2016-10-04  0:07 ` [PATCH 1/2] usb: gadget: f_fs: edit epfile->ep under lock Michal Nazarewicz
2016-10-04  0:07   ` [PATCH 2/2] usb: gadget: f_fs: stop sleeping in ffs_func_eps_disable Michal Nazarewicz
2016-10-04  0:26     ` John Stultz [this message]
2016-10-08  6:52     ` Chen Yu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALAqxLXAik6KJVJB7R7irME4c8tKREvnh2z6s7wNBuJpkkuhOw@mail.gmail.com \
    --to=john.stultz@linaro.org \
    --cc=amit.pundir@linaro.org \
    --cc=chenyu56@huawei.com \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guodong.xu@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mina86@mina86.com \
    --cc=wangbinghui@hisilicon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).