* IPU6 subsystem broken in 6.19-rc1 due to d7cdbbc93c5 ("software node: allow referencing firmware nodes")
@ 2025-12-19 0:59 Kenneth Crudup
2025-12-19 1:04 ` Kenneth Crudup
0 siblings, 1 reply; 10+ messages in thread
From: Kenneth Crudup @ 2025-12-19 0:59 UTC (permalink / raw)
To: akari.ailus; +Cc: linux-media, johannes.goede, Kenneth C
(Also posted here: https://github.com/intel/ipu6-drivers/issues/405 )
I run Linus' master (currently as of ea1013c153927) as my daily driver
(mostly to find bugs like this). When the merges for the 6.19 series
started to trickle in, I'd noticed my camera stopped working:
```
[Mon Dec 15 21:49:29 2025] [ T151] intel-ipu6 0000:00:05.0: Found
supported sensor OVTI01A0:00
[Mon Dec 15 21:49:29 2025] [ T151] intel-ipu6 0000:00:05.0: Connected
1 cameras
[Mon Dec 15 21:49:29 2025] [ T151] intel-ipu6 0000:00:05.0:
IPU6-v3[465d] hardware version 5
[Mon Dec 15 21:49:29 2025] [ T1553] ivsc_csi
intel_vsc-92335fcf-3203-4472-af93-7b4453ac29da: can't obtain sink endpoint
[Mon Dec 15 21:49:29 2025] [ T1553] ivsc_csi
intel_vsc-92335fcf-3203-4472-af93-7b4453ac29da: probe with driver
ivsc_csi failed with error -22
```
After bisecting, I'd tracked down the failure to the commit in the
title, and at this patchset:
```
@@ -633,7 +650,10 @@ software_node_graph_get_remote_endpoint(const
struct fwnode_handle *fwnode)
ref = prop->pointer;
- return software_node_get(software_node_fwnode(ref[0].node));
<---- old line works
+ if (!ref->swnode)
+ return NULL; <--- no "swnode" after this
commit, so it fails here
+
+ return software_node_get(software_node_fwnode(ref->swnode));
```
... and here's the code in .../drivers/media/pci/intel/ivsc/mei_csi.c
where it fails:
static int mei_csi_parse_firmware(struct mei_csi *csi)
{
struct v4l2_fwnode_endpoint v4l2_ep = {
.bus_type = V4L2_MBUS_CSI2_DPHY,
};
struct device *dev = &csi->cldev->dev;
struct v4l2_async_connection *asd;
struct fwnode_handle *sink_ep, *source_ep;
int ret;
sink_ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), 0,
0, 0);
if (!sink_ep) {
dev_err(dev, "can't obtain sink endpoint\n");
return -EINVAL;
}
I looked at the fwnode/software node code, and the definition and use
of that UUID in the ivsc_csi/intel_vsc code and attempted to try a fix,
but I'm not at all familiar with the ` _node` API and figured I should
just file an issue rather than go down the rabbit hole I have little
time for (at least RN).
It looks like I'll need to add a "swnode" (as the "fwnode" is gone?) but
not sure how to do that (my first attempts failed).
If you need any further information, LMK.
-K
--
Kenneth R. Crudup / Sr. SW Engineer, Scott County Consulting, Orange
County CA
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: IPU6 subsystem broken in 6.19-rc1 due to d7cdbbc93c5 ("software node: allow referencing firmware nodes")
2025-12-19 0:59 IPU6 subsystem broken in 6.19-rc1 due to d7cdbbc93c5 ("software node: allow referencing firmware nodes") Kenneth Crudup
@ 2025-12-19 1:04 ` Kenneth Crudup
2025-12-19 8:36 ` [PATCH 1/1] software node: Also support referencing non-constant software nodes Sakari Ailus
0 siblings, 1 reply; 10+ messages in thread
From: Kenneth Crudup @ 2025-12-19 1:04 UTC (permalink / raw)
To: sakari.ailus; +Cc: linux-media, johannes.goede
(Fixed Sakari's E-mail address and resending new to avoid reply-quote
formatting issues)
(Also posted here: https://github.com/intel/ipu6-drivers/issues/405 )
I run Linus' master (currently as of ea1013c153927) as my daily driver
(mostly to find bugs like this). When the merges for the 6.19 series
started to trickle in, I'd noticed my camera stopped working:
```
[Mon Dec 15 21:49:29 2025] [ T151] intel-ipu6 0000:00:05.0: Found
supported sensor OVTI01A0:00
[Mon Dec 15 21:49:29 2025] [ T151] intel-ipu6 0000:00:05.0: Connected
1 cameras
[Mon Dec 15 21:49:29 2025] [ T151] intel-ipu6 0000:00:05.0:
IPU6-v3[465d] hardware version 5
[Mon Dec 15 21:49:29 2025] [ T1553] ivsc_csi
intel_vsc-92335fcf-3203-4472-af93-7b4453ac29da: can't obtain sink endpoint
[Mon Dec 15 21:49:29 2025] [ T1553] ivsc_csi
intel_vsc-92335fcf-3203-4472-af93-7b4453ac29da: probe with driver
ivsc_csi failed with error -22
```
After bisecting, I'd tracked down the failure to the commit in the
title, and at this patchset:
```
@@ -633,7 +650,10 @@ software_node_graph_get_remote_endpoint(const
struct fwnode_handle *fwnode)
ref = prop->pointer;
- return software_node_get(software_node_fwnode(ref[0].node));
<---- old line works
+ if (!ref->swnode)
+ return NULL; <--- no "swnode" after this
commit, so it fails here
+
+ return software_node_get(software_node_fwnode(ref->swnode));
```
... and here's the code in .../drivers/media/pci/intel/ivsc/mei_csi.c
where it fails:
static int mei_csi_parse_firmware(struct mei_csi *csi)
{
struct v4l2_fwnode_endpoint v4l2_ep = {
.bus_type = V4L2_MBUS_CSI2_DPHY,
};
struct device *dev = &csi->cldev->dev;
struct v4l2_async_connection *asd;
struct fwnode_handle *sink_ep, *source_ep;
int ret;
sink_ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), 0,
0, 0);
if (!sink_ep) {
dev_err(dev, "can't obtain sink endpoint\n");
return -EINVAL;
}
I looked at the fwnode/software node code, and the definition and use
of that UUID in the ivsc_csi/intel_vsc code and attempted to try a fix,
but I'm not at all familiar with the ` _node` API and figured I should
just file an issue rather than go down the rabbit hole I have little
time for (at least RN).
It looks like I'll need to add a "swnode" (as the "fwnode" is gone?) but
not sure how to do that (my first attempts failed).
If you need any further information, LMK.
-K
--
Kenneth R. Crudup / Sr. SW Engineer, Scott County Consulting, Orange
County CA
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 1:04 ` Kenneth Crudup
@ 2025-12-19 8:36 ` Sakari Ailus
2025-12-19 13:13 ` Mehdi Djait
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Sakari Ailus @ 2025-12-19 8:36 UTC (permalink / raw)
To: linux-kernel
Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Danilo Krummrich,
Andy Shevchenko, Daniel Scally, Heikki Krogerus, Linus Walleij,
Philipp Zabel, Charles Keepax, linux-acpi, Kenneth Crudup,
linux-media, johannes.goede, Bartosz Golaszewski
Fwnode references are be implemented differently if referenced node is a
software node. _Generic() is used to differentiate between the two cases
but only const software nodes were present in the selection. Also add
non-const software nodes.
Reported-by: Kenneth Crudup <kenny@panix.com>
Closes: https://lore.kernel.org/all/af773b82-bef2-4209-baaf-526d4661b7fc@panix.com/
Fixes: d7cdbbc93c56 ("software node: allow referencing firmware nodes")
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
Hi Kenneth,
Many thanks for reporting the issue and bisecting the offending patch!
Could you confirm whether this fixes the issue (it does for me)?
- Sakari
include/linux/property.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/property.h b/include/linux/property.h
index 272bfbdea7bf..e30ef23a9af3 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -371,6 +371,7 @@ struct software_node_ref_args {
(const struct software_node_ref_args) { \
.swnode = _Generic(_ref_, \
const struct software_node *: _ref_, \
+ struct software_node *: _ref_, \
default: NULL), \
.fwnode = _Generic(_ref_, \
struct fwnode_handle *: _ref_, \
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 8:36 ` [PATCH 1/1] software node: Also support referencing non-constant software nodes Sakari Ailus
@ 2025-12-19 13:13 ` Mehdi Djait
2025-12-19 15:05 ` johannes.goede
2025-12-19 20:55 ` Kenneth Crudup
2025-12-22 12:36 ` Danilo Krummrich
2 siblings, 1 reply; 10+ messages in thread
From: Mehdi Djait @ 2025-12-19 13:13 UTC (permalink / raw)
To: Sakari Ailus
Cc: linux-kernel, Greg Kroah-Hartman, Rafael J. Wysocki,
Danilo Krummrich, Andy Shevchenko, Daniel Scally, Heikki Krogerus,
Linus Walleij, Philipp Zabel, Charles Keepax, linux-acpi,
Kenneth Crudup, linux-media, johannes.goede, Bartosz Golaszewski
Hi Sakari,
Thank you for the patch.
On Fri, Dec 19, 2025 at 10:36:38AM +0200, Sakari Ailus wrote:
> Fwnode references are be implemented differently if referenced node is a
> software node. _Generic() is used to differentiate between the two cases
> but only const software nodes were present in the selection. Also add
> non-const software nodes.
>
it works for me.
Tested-by: Mehdi Djait <mehdi.djait@linux.intel.com> # Dell XPS 9315
Reviewed-by: Mehdi Djait <mehdi.djait@linux.intel.com>
> Reported-by: Kenneth Crudup <kenny@panix.com>
> Closes: https://lore.kernel.org/all/af773b82-bef2-4209-baaf-526d4661b7fc@panix.com/
> Fixes: d7cdbbc93c56 ("software node: allow referencing firmware nodes")
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 13:13 ` Mehdi Djait
@ 2025-12-19 15:05 ` johannes.goede
2025-12-19 15:11 ` Danilo Krummrich
0 siblings, 1 reply; 10+ messages in thread
From: johannes.goede @ 2025-12-19 15:05 UTC (permalink / raw)
To: Mehdi Djait, Sakari Ailus
Cc: linux-kernel, Greg Kroah-Hartman, Rafael J. Wysocki,
Danilo Krummrich, Andy Shevchenko, Daniel Scally, Heikki Krogerus,
Linus Walleij, Philipp Zabel, Charles Keepax, linux-acpi,
Kenneth Crudup, linux-media, Bartosz Golaszewski
Hi,
On 19-Dec-25 14:13, Mehdi Djait wrote:
> Hi Sakari,
>
> Thank you for the patch.
>
> On Fri, Dec 19, 2025 at 10:36:38AM +0200, Sakari Ailus wrote:
>> Fwnode references are be implemented differently if referenced node is a
>> software node. _Generic() is used to differentiate between the two cases
>> but only const software nodes were present in the selection. Also add
>> non-const software nodes.
>>
>
> it works for me.
>
> Tested-by: Mehdi Djait <mehdi.djait@linux.intel.com> # Dell XPS 9315
> Reviewed-by: Mehdi Djait <mehdi.djait@linux.intel.com>
Sakari, thank you for fixing this.
Since this fixes a 6.19 regression: Can someone please submit
a pull-request with "[GIT FIXES for v6.19]" pull-request to
Hans + Mauro with this patch?
Regards,
Hans
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 15:05 ` johannes.goede
@ 2025-12-19 15:11 ` Danilo Krummrich
2025-12-19 15:38 ` johannes.goede
0 siblings, 1 reply; 10+ messages in thread
From: Danilo Krummrich @ 2025-12-19 15:11 UTC (permalink / raw)
To: johannes.goede
Cc: Mehdi Djait, Sakari Ailus, linux-kernel, Greg Kroah-Hartman,
Rafael J. Wysocki, Andy Shevchenko, Daniel Scally,
Heikki Krogerus, Linus Walleij, Philipp Zabel, Charles Keepax,
linux-acpi, Kenneth Crudup, linux-media, Bartosz Golaszewski
On Fri Dec 19, 2025 at 4:05 PM CET, johannes.goede wrote:
> Since this fixes a 6.19 regression: Can someone please submit
> a pull-request with "[GIT FIXES for v6.19]" pull-request to
> Hans + Mauro with this patch?
This code is maintained throught the driver-core tree and fixes for the current
release cycle ending up in this tree will be sent to Linus directly for the next
appropriate -rc.
Is there any specific reason for this request?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 15:11 ` Danilo Krummrich
@ 2025-12-19 15:38 ` johannes.goede
2025-12-19 15:47 ` Danilo Krummrich
0 siblings, 1 reply; 10+ messages in thread
From: johannes.goede @ 2025-12-19 15:38 UTC (permalink / raw)
To: Danilo Krummrich
Cc: Mehdi Djait, Sakari Ailus, linux-kernel, Greg Kroah-Hartman,
Rafael J. Wysocki, Andy Shevchenko, Daniel Scally,
Heikki Krogerus, Linus Walleij, Philipp Zabel, Charles Keepax,
linux-acpi, Kenneth Crudup, linux-media, Bartosz Golaszewski
Hi Danilo,
On 19-Dec-25 16:11, Danilo Krummrich wrote:
> On Fri Dec 19, 2025 at 4:05 PM CET, johannes.goede wrote:
>> Since this fixes a 6.19 regression: Can someone please submit
>> a pull-request with "[GIT FIXES for v6.19]" pull-request to
>> Hans + Mauro with this patch?
>
> This code is maintained throught the driver-core tree and fixes for the current
> release cycle ending up in this tree will be sent to Linus directly for the next
> appropriate -rc.
>
> Is there any specific reason for this request?
No reason other then me not paying attention and since this fixes
an issue related to IPU6 cameras I typed the above on auto-pilot,
my bad.
You're completely right this should go upstream through driver core
and my request makes no sense, sorry.
Regards,
Hans
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 15:38 ` johannes.goede
@ 2025-12-19 15:47 ` Danilo Krummrich
0 siblings, 0 replies; 10+ messages in thread
From: Danilo Krummrich @ 2025-12-19 15:47 UTC (permalink / raw)
To: johannes.goede
Cc: Mehdi Djait, Sakari Ailus, linux-kernel, Greg Kroah-Hartman,
Rafael J. Wysocki, Andy Shevchenko, Daniel Scally,
Heikki Krogerus, Linus Walleij, Philipp Zabel, Charles Keepax,
linux-acpi, Kenneth Crudup, linux-media, Bartosz Golaszewski
On Fri Dec 19, 2025 at 4:38 PM CET, johannes.goede wrote:
> No reason other then me not paying attention and since this fixes
> an issue related to IPU6 cameras I typed the above on auto-pilot,
> my bad.
>
> You're completely right this should go upstream through driver core
> and my request makes no sense, sorry.
No worries, could have been there is a specific reason. :)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 8:36 ` [PATCH 1/1] software node: Also support referencing non-constant software nodes Sakari Ailus
2025-12-19 13:13 ` Mehdi Djait
@ 2025-12-19 20:55 ` Kenneth Crudup
2025-12-22 12:36 ` Danilo Krummrich
2 siblings, 0 replies; 10+ messages in thread
From: Kenneth Crudup @ 2025-12-19 20:55 UTC (permalink / raw)
To: Sakari Ailus, linux-kernel
Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Danilo Krummrich,
Andy Shevchenko, Daniel Scally, Heikki Krogerus, Linus Walleij,
Philipp Zabel, Charles Keepax, linux-acpi, linux-media,
johannes.goede, Bartosz Golaszewski
Apparently last to the party :) but:
Tested-By: Kenneth R. Crudup <kenny@panix.com>
-K
On 12/19/25 00:36, Sakari Ailus wrote:
> Fwnode references are be implemented differently if referenced node is a
> software node. _Generic() is used to differentiate between the two cases
> but only const software nodes were present in the selection. Also add
> non-const software nodes.
>
> Reported-by: Kenneth Crudup <kenny@panix.com>
> Closes: https://lore.kernel.org/all/af773b82-bef2-4209-baaf-526d4661b7fc@panix.com/
> Fixes: d7cdbbc93c56 ("software node: allow referencing firmware nodes")
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> Hi Kenneth,
>
> Many thanks for reporting the issue and bisecting the offending patch!
> Could you confirm whether this fixes the issue (it does for me)?
>
> - Sakari
>
> include/linux/property.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/property.h b/include/linux/property.h
> index 272bfbdea7bf..e30ef23a9af3 100644
> --- a/include/linux/property.h
> +++ b/include/linux/property.h
> @@ -371,6 +371,7 @@ struct software_node_ref_args {
> (const struct software_node_ref_args) { \
> .swnode = _Generic(_ref_, \
> const struct software_node *: _ref_, \
> + struct software_node *: _ref_, \
> default: NULL), \
> .fwnode = _Generic(_ref_, \
> struct fwnode_handle *: _ref_, \
--
Kenneth R. Crudup / Sr. SW Engineer, Scott County Consulting, Orange
County CA
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] software node: Also support referencing non-constant software nodes
2025-12-19 8:36 ` [PATCH 1/1] software node: Also support referencing non-constant software nodes Sakari Ailus
2025-12-19 13:13 ` Mehdi Djait
2025-12-19 20:55 ` Kenneth Crudup
@ 2025-12-22 12:36 ` Danilo Krummrich
2 siblings, 0 replies; 10+ messages in thread
From: Danilo Krummrich @ 2025-12-22 12:36 UTC (permalink / raw)
To: Sakari Ailus
Cc: linux-kernel, Greg Kroah-Hartman, Rafael J. Wysocki,
Andy Shevchenko, Daniel Scally, Heikki Krogerus, Linus Walleij,
Philipp Zabel, Charles Keepax, linux-acpi, Kenneth Crudup,
linux-media, johannes.goede, Bartosz Golaszewski
On Fri Dec 19, 2025 at 9:36 AM CET, Sakari Ailus wrote:
> Fwnode references are be implemented differently if referenced node is a
> software node. _Generic() is used to differentiate between the two cases
> but only const software nodes were present in the selection. Also add
> non-const software nodes.
>
> Reported-by: Kenneth Crudup <kenny@panix.com>
> Closes: https://lore.kernel.org/all/af773b82-bef2-4209-baaf-526d4661b7fc@panix.com/
> Fixes: d7cdbbc93c56 ("software node: allow referencing firmware nodes")
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Applied to driver-core-linus, thanks!
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-12-22 12:36 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-19 0:59 IPU6 subsystem broken in 6.19-rc1 due to d7cdbbc93c5 ("software node: allow referencing firmware nodes") Kenneth Crudup
2025-12-19 1:04 ` Kenneth Crudup
2025-12-19 8:36 ` [PATCH 1/1] software node: Also support referencing non-constant software nodes Sakari Ailus
2025-12-19 13:13 ` Mehdi Djait
2025-12-19 15:05 ` johannes.goede
2025-12-19 15:11 ` Danilo Krummrich
2025-12-19 15:38 ` johannes.goede
2025-12-19 15:47 ` Danilo Krummrich
2025-12-19 20:55 ` Kenneth Crudup
2025-12-22 12:36 ` Danilo Krummrich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox