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

From: Laura Abbott <[email-masked]>
Date: Thu, 21 May 2015 11:17:21 -0700

On 05/21/2015 11:11 AM, Takashi Iwai wrote:
> At Thu, 21 May 2015 13:37:56 -0400 (EDT),
> Alan Stern wrote:
>>
>> On Thu, 21 May 2015, Takashi Iwai wrote:
>>
>>> At Thu, 21 May 2015 11:26:17 -0400 (EDT),
>>> Alan Stern wrote:
>>>>
>>>> On Thu, 21 May 2015, Takashi Iwai wrote:
>>>>
>>>>> At Thu, 21 May 2015 10:18:08 -0400 (EDT),
>>>>> Alan Stern wrote:
>>>>>>
>>>>>> On Thu, 21 May 2015, Takashi Iwai wrote:
>>>>>>
>>>>>>> Then avoiding the failed firmware is no solution, indeed.
>>>>>>> If it's a new probe, it should be never executed during resume.
>>>>>>
>>>>>> Can you expand this comment?  What's wrong with probing during resume?
>>>>>
>>>>> Well, if the probe requires the access to a user-space file, it can't
>>>>> be done during resume.  That's the very problem we're seeing now.
>>>>> The firmware loader can't help much alone if it's a new device
>>>>> object.
>>>>
>>>> But the same thing happens during early boot, if the driver is built
>>>> into the kernel.  When the probe occurs, userspace isn't up and running
>>>> yet, so the firmware loader can't do anything.
>>>>
>>>> Why should probe during resume be any worse than probe during early
>>>> boot?
>>>
>>> The early boot has initrd, so the files can be there.  But the resume
>>> has no way to fetch the file except for cached data.
>>
>> I suppose USB could delay re-probing until userspace is running again,
>> if we knew when that was.  But it would be awkward and prone to races.
>> It also would leave a user-visible window of time during which the
>> device does not exist, which we want to avoid.  (This may not matter
>> for bluetooth, but it does matter for other kinds of devices.)
>
> Right.
>
>> I would prefer to solve this problem in a different way, if possible.
>
> Well, we're back in square again :)
>
> But, before going further the discussion in loop again, I'd like to
> know which firmware file actually hits.  Is it a non-existing
> firmware?  Or is it a firmware that should have been cached?  In the
> latter case, why it isn't used?
>

Non-existent firmware. The firmware was never present in the system and
was never loaded at all.

> Takashi

Thanks,
Laura