ed-off-by: Ioan-Adrian Ratiu
---
drivers/usb/dwc2/core.h | 5 +++--
drivers/usb/dwc2/platform.c | 46 +++--
2 files changed, 35 insertions(+), 16 deletions(-)
diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h
index cd77af3b1565..c50b9fc4a1
On Fri, 20 Nov 2015 22:19:02 +0200
Ioan-Adrian Ratiu wrote:
> The critical section protected by usbhid->lock in hid_ctrl() is too
> big and because of this it causes a recursive deadlock. "Too big" means
> the case statement and the call to hid_input_report() do not need to
n grab the lock afterwards in hid_ctrl().
This patch implements the 2nd solution.
Signed-off-by: Ioan-Adrian Ratiu
---
drivers/hid/usbhid/hid-core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 36712e9.
On Thu, 19 Nov 2015 22:34:18 +0100 (CET)
Jiri Kosina wrote:
> Could you please reformulate the changelog in this respect and resubmit?
Yes, of course, I tried to reformulate the problem and solution as clear and
succint as I could in v2, which I'll send shortly.
Thank you very much for your pati
On Thu, 19 Nov 2015 10:10:19 +0100 (CET)
Jiri Kosina wrote:
> On Thu, 19 Nov 2015, Ioan-Adrian Ratiu wrote:
>
> > First part of lockdep report:
> > http://imgur.com/clLsCWe
> >
> > Second part:
> > http://imgur.com/Wa2PzRl
> >
> > Here are som
On Wed, 18 Nov 2015 17:58:56 -0600
Josh Cartwright wrote:
> On Wed, Nov 18, 2015 at 11:05:44PM +0200, Ioan-Adrian Ratiu wrote:
> > On Wed, 18 Nov 2015 21:37:42 +0100 (CET)
> > Jiri Kosina wrote:
> >
> > > On Wed, 18 Nov 2015, Ioan-Adrian Ratiu wrote:
> &g
On Wed, 18 Nov 2015 21:37:42 +0100 (CET)
Jiri Kosina wrote:
> On Wed, 18 Nov 2015, Ioan-Adrian Ratiu wrote:
>
> > The critical section protected by usbhid->lock in hid_ctrl() is too
> > big and in rare cases causes a recursive deadlock because of its call
&g
Here are some images with more information on this deadlock, might be helpful.
First part of lockdep report:
http://imgur.com/clLsCWe
Second part:
http://imgur.com/Wa2PzRl
Here are some printk's of mine while reproducing + debugging the issue:
http://imgur.com/SETOHT7
--
To unsubscribe from this
to grab the lock resulting in a recursive deadlock.
The proper fix is to shrink the critical section in hid_ctrl() to
protect only the instructions which modify usbhid, thus move the lock
after the hid_input_report() call and the deadlock dissapears.
Signed-off-by: Ioan-Adrian Ratiu
---
driv