Thread (20 messages) 20 messages, 2 authors, 2025-09-12

RE: [PATCH v3 8/9] media: chips-media: wave6: Add Wave6 control driver

From: Nas Chung <nas.chung@chipsnmedia.com>
Date: 2025-09-02 02:04:00
Also in: linux-devicetree, linux-media, lkml

Hi, Krzysztof.
-----Original Message-----
From: Krzysztof Kozlowski <krzk@kernel.org>
Sent: Monday, September 1, 2025 7:44 PM
To: Nas Chung <nas.chung@chipsnmedia.com>; mchehab@kernel.org;
hverkuil@xs4all.nl; robh@kernel.org; krzk+dt@kernel.org;
conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de
Cc: linux-media@vger.kernel.org; devicetree@vger.kernel.org; linux-
kernel@vger.kernel.org; linux-imx@nxp.com; linux-arm-
kernel@lists.infradead.org; jackson.lee [off-list ref];
lafley.kim [off-list ref]; Ming Qian [off-list ref]
Subject: Re: [PATCH v3 8/9] media: chips-media: wave6: Add Wave6 control
driver

On 01/09/2025 10:13, Nas Chung wrote:
quoted
Hi, Krzysztof.

Thanks for the feedback.
quoted
-----Original Message-----
From: Krzysztof Kozlowski <krzk@kernel.org>
Sent: Friday, August 29, 2025 11:06 PM
To: Nas Chung <nas.chung@chipsnmedia.com>; mchehab@kernel.org;
hverkuil@xs4all.nl; robh@kernel.org; krzk+dt@kernel.org;
conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de
Cc: linux-media@vger.kernel.org; devicetree@vger.kernel.org; linux-
kernel@vger.kernel.org; linux-imx@nxp.com; linux-arm-
kernel@lists.infradead.org; jackson.lee [off-list ref];
lafley.kim [off-list ref]; Ming Qian
[off-list ref]
quoted
quoted
Subject: Re: [PATCH v3 8/9] media: chips-media: wave6: Add Wave6 control
driver

On 29/08/2025 10:46, Nas Chung wrote:
quoted
+
+static void wave6_vpu_load_firmware(const struct firmware *fw, void
*context)
quoted
+{
+	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().
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help