Thread (45 messages) flat view 45 messages, 9 authors, 2015-06-02

Re: [RESEND][PATCH] Bluetooth: Make request workqueue freezable

From: Alan Stern <stern@rowland.harvard.edu>
Date: 2015-05-19 14:26:49
Also in: linux-bluetooth, lkml

On Tue, 19 May 2015, Takashi Iwai wrote:
quoted
quoted
I am not convinced. Now we are hacking the Bluetooth core layer
(which has nothing to do with the drivers suspend/resume or
probe) to do something different so that we do not see this
warning.

I can not do anything about the platform in question choosing a
unplug/replug for suspend/resume instead of having a proper USB
suspend and resume handling. That is pretty much out of our
control.
Actually one can do something about this.  I mean, one _can_ implement
proper USB suspend and resume handling in the Bluetooth driver.  At
this point the details aren't clear to me, but perhaps if the driver in
question had a reset_resume callback then it might work better.
quoted
quoted
 I would rather have the USB subsystem delay the probe()
callback if we tell it to.
This is possible.  I am not sure it would be the right thing to do,
though.  What happens if the probe routine gets called early on during
the boot-up procedure, before userspace is up and running?  The same
thing should happen here.
quoted
quoted
 Of just have request_firmware()
actually sleep until userspace is ready. Seriously, why is
request_firmware not just sleeping for us.
It won't work.  The request_firmware call is part of the probe 
sequence, which in turn is part of the resume sequence.  Userspace 
doesn't start running again until the resume sequence is finished.  If 
request_firmware waited for userspace, it would hang.

Alan Stern
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help