[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CALCETrV0ZmEHoA7bK4Q8j_jfOhV5o+GmMpzkfLcDyOE_bx-cag@mail.gmail.com>
Date: Mon, 21 Dec 2015 14:46:15 -0800
From: Andy Lutomirski <luto@...capital.net>
To: Laura Abbott <labbott@...hat.com>
Cc: Ming Lei <ming.lei@...onical.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: firmware_class warnings on resume
On Mon, Dec 21, 2015 at 9:54 AM, Laura Abbott <labbott@...hat.com> wrote:
> On 12/20/2015 04:20 AM, Andy Lutomirski wrote:
>>
>> I hit this warning fairly frequently when resuming 4.4-rc5:
>>
>> ret = usermodehelper_read_trylock();
>> if (WARN_ON(ret)) {
>> dev_err(device, "firmware: %s will not be loaded\n",
>> name);
>> goto out;
>> }
>>
>> It seems like it could be improved in two ways fairly easily:
>>
>> 1. Shouldn't firmware_class try the direct load before trying to get
>> the usermodehelper lock?
>>
>> 2. Why is the !NOWAIT case doing a trylock? That seems wrong.
>>
>> --Andy
>>
>
> I saw the same warning coming from the bluetooth stack, see the thread
> http://article.gmane.org/gmane.linux.kernel/1950940 and
> http://article.gmane.org/gmane.linux.kernel/1940130.
> At least in the bluetooth case, the conclusion was the firmware request
> should not be happening at that point in time and the reset_resume function
> should be implemented instead. I put that work aside and haven't picked
> it up again.
That's exactly the issue I'm seeing, and I think you're right.
Still, I think the firmware_class code is wrong, too. If it wants to
warn, it should warn that firmware was requested too early in resume.
Using trylock as an excuse to fail a firmware load seems completely
bogus to me.
>
> Thanks,
> Laura
--
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists