Thread (29 messages) 29 messages, 6 authors, 2014-11-27

Re: bluetooth related firmware loader spew on resume.

From: Oliver Neukum <hidden>
Date: 2014-11-26 10:43:39
Also in: lkml

On Wed, 2014-11-26 at 11:31 +0100, Takashi Iwai wrote:
At Wed, 26 Nov 2014 11:10:23 +0100,
Oliver Neukum wrote:
quoted
On Wed, 2014-11-26 at 09:52 +0100, Takashi Iwai wrote:
quoted
At Wed, 26 Nov 2014 14:15:27 +0900,
quoted
In order to paper over this, we may also remember the failing firmware
and avoid loading it.  This might be an easer way than the endless
fight against UMH race...
Hi,

the full fix would be to implement reset_resume() for btusb.
It seems to me that setup() should be split in two methods,
one to request the firmware from user space and the second
to transfer it to the device. reset_resume() would just need
to repeat the second operation.
I'm not against it, but one slight drawback is that you'll have to
remember the firmware content to transfer by the driver itself in this
scenario.   In the firmware loader framework, the content is re-read
at resume so that the largish content isn't kept unnecessarily during
the whole operation. 
That isn't a drawback but an advantage. Firmware for devices that
do power management needs to be in RAM. The right time to free it
is in disconnect(). But why does that mean that the driver has to
manage the firmware? Can't the firmware layer do it?

You just cannot keep a device operational seamlessly if you request
firmware on resume. We could in theory use a notification queue
running while user space is operational if you really want to save
a little RAM.

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