[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<SL2P216MB1246324EC2C763F7A5E6E793FB06A@SL2P216MB1246.KORP216.PROD.OUTLOOK.COM>
Date: Tue, 2 Sep 2025 02:03:56 +0000
From: Nas Chung <nas.chung@...psnmedia.com>
To: Krzysztof Kozlowski <krzk@...nel.org>, "mchehab@...nel.org"
<mchehab@...nel.org>, "hverkuil@...all.nl" <hverkuil@...all.nl>,
"robh@...nel.org" <robh@...nel.org>, "krzk+dt@...nel.org"
<krzk+dt@...nel.org>, "conor+dt@...nel.org" <conor+dt@...nel.org>,
"shawnguo@...nel.org" <shawnguo@...nel.org>, "s.hauer@...gutronix.de"
<s.hauer@...gutronix.de>
CC: "linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-imx@....com" <linux-imx@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, jackson.lee
<jackson.lee@...psnmedia.com>, lafley.kim <lafley.kim@...psnmedia.com>, Ming
Qian <ming.qian@....nxp.com>
Subject: RE: [PATCH v3 8/9] media: chips-media: wave6: Add Wave6 control
driver
Hi, Krzysztof.
>-----Original Message-----
>From: Krzysztof Kozlowski <krzk@...nel.org>
>Sent: Monday, September 1, 2025 7:44 PM
>To: Nas Chung <nas.chung@...psnmedia.com>; mchehab@...nel.org;
>hverkuil@...all.nl; robh@...nel.org; krzk+dt@...nel.org;
>conor+dt@...nel.org; shawnguo@...nel.org; s.hauer@...gutronix.de
>Cc: linux-media@...r.kernel.org; devicetree@...r.kernel.org; linux-
>kernel@...r.kernel.org; linux-imx@....com; linux-arm-
>kernel@...ts.infradead.org; jackson.lee <jackson.lee@...psnmedia.com>;
>lafley.kim <lafley.kim@...psnmedia.com>; Ming Qian <ming.qian@....nxp.com>
>Subject: Re: [PATCH v3 8/9] media: chips-media: wave6: Add Wave6 control
>driver
>
>On 01/09/2025 10:13, Nas Chung wrote:
>> Hi, Krzysztof.
>>
>> Thanks for the feedback.
>>
>>> -----Original Message-----
>>> From: Krzysztof Kozlowski <krzk@...nel.org>
>>> Sent: Friday, August 29, 2025 11:06 PM
>>> To: Nas Chung <nas.chung@...psnmedia.com>; mchehab@...nel.org;
>>> hverkuil@...all.nl; robh@...nel.org; krzk+dt@...nel.org;
>>> conor+dt@...nel.org; shawnguo@...nel.org; s.hauer@...gutronix.de
>>> Cc: linux-media@...r.kernel.org; devicetree@...r.kernel.org; linux-
>>> kernel@...r.kernel.org; linux-imx@....com; linux-arm-
>>> kernel@...ts.infradead.org; jackson.lee <jackson.lee@...psnmedia.com>;
>>> lafley.kim <lafley.kim@...psnmedia.com>; Ming Qian
><ming.qian@....nxp.com>
>>> Subject: Re: [PATCH v3 8/9] media: chips-media: wave6: Add Wave6 control
>>> driver
>>>
>>> On 29/08/2025 10:46, Nas Chung wrote:
>>>> +
>>>> +static void wave6_vpu_load_firmware(const struct firmware *fw, void
>>> *context)
>>>> +{
>>>> + struct wave6_vpu_device *vpu = context;
>>>> +
>>>> + guard(mutex)(&vpu->lock);
>>>
>>> Why? How could this be called in parallel, before the probe?
>>
>> This callback is called asynchronously via
>firmware_request_nowait_nowarn().
>> In practice, I observed a case where the callback was executing
>> while the device's release() function was being called.
>
>Indeed. Now I wonder how does it protect from concurrent remove()?
The callback checks the fw_available flag and returns immediately if false.
This flag is cleared in the remove() path under the lock.
Thanks,
Nas.
>
>Best regards,
>Krzysztof
Powered by blists - more mailing lists