[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALAqxLXAik6KJVJB7R7irME4c8tKREvnh2z6s7wNBuJpkkuhOw@mail.gmail.com>
Date: Mon, 3 Oct 2016 17:26:06 -0700
From: John Stultz <john.stultz@...aro.org>
To: Michal Nazarewicz <mina86@...a86.com>
Cc: Chen Yu <chenyu56@...wei.com>,
Felipe Balbi <felipe.balbi@...ux.intel.com>,
Greg KH <gregkh@...uxfoundation.org>,
Biggo Wang <wangbinghui@...ilicon.com>,
Amit Pundir <amit.pundir@...aro.org>,
Guodong Xu <guodong.xu@...aro.org>,
lkml <linux-kernel@...r.kernel.org>, linux-usb@...r.kernel.org
Subject: Re: [PATCH 2/2] usb: gadget: f_fs: stop sleeping in ffs_func_eps_disable
On Mon, Oct 3, 2016 at 5:07 PM, Michal Nazarewicz <mina86@...a86.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@...wei.com>
> Signed-off-by: Michał Nazarewicz <mina86@...a86.com>
> Fixes: 9353afbbfa7b ("buffer data from ‘oversized’ OUT requests")
> Tested-by: Chen Yu <chenyu56@...wei.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@...aro.org>
Thanks so much for these!
-john
Powered by blists - more mailing lists