Hi Sakari, On Fri, Jun 9, 2023 at 11:51 AM Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> wrote: > > Hi Rafael, > > On Wed, May 24, 2023 at 08:06:09PM +0200, Rafael J. Wysocki wrote: > > On Wed, May 24, 2023 at 1:48 PM Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote: > > > > > > Hi Folks, > > > > > > This basically is a re-write of a recent patch series from Sakari: > > > > > > https://lore.kernel.org/linux-acpi/20230329100951.1522322-1-sakari.ailus@xxxxxxxxxxxxxxx > > > > > > The general idea is the same - CSI-2 resource descriptors, introduced in > > > ACPI 6.4 and defined by > > > > > > https://uefi.org/specs/ACPI/6.5/06_Device_Configuration.html#camera-serial-interface-csi-2-connection-resource-descriptor > > > > > > are found and used for creating a set of software nodes that represent the CSI-2 > > > connection graph. > > > > > > These software nodes need to be available before any scan handlers or ACPI drivers > > > are bound to any struct acpi_device objects, so all of that is done at the early > > > stage of ACPI device enumeration, but unnecessary ACPI namespace walks are avoided. > > > > > > The CSI-2 software nodes are populated with data extracted from the CSI-2 resource > > > descriptors themselves and from device properties defined by the MIPI DiSco for > > > Imaging specification (see https://www.mipi.org/specifications/mipi-disco-imaging). > > > > > > Patches [4,6/6] come from the original series directly, but the other patches have > > > been changes substantially, so I've decided to re-start patch series versioning from > > > scratch. > > > > > > This series is based on the patch at > > > > > > https://patchwork.kernel.org/project/linux-acpi/patch/12223415.O9o76ZdvQC@kreacher/ > > > > > > applied on top of 6.4-rc3. > > > > > > Later on, I'll put all of this material into a special git branch for easier > > > access. > > > > The patches are now available from the acpi-mipi-disco-imaging branch > > in the linux-pm.git tree at kernel.org. > > I've been doing some testing on this version. Thanks for testing! > It oopses and that's relatively easy to fix by removing the kfree() that > releases memory of the software nodes and properties. It would be good to check which of the patches introduces the crash. > It doesn't work with that change either, it would seem like that the _CRS > CSI2 data is (most of the time) released before it gets used for creating > the software nodes, leading node registration to fail. This appears to be > taking place in different processes --- there's a work queue. > > Moving the release of the _CRS CSI-2 resources to where they are no longer > needed makes the system crash early at boot. I've yet to debug this > further. OK, thanks! I think that the way to go would be to check if the results of the first patch are as expected and if so, move to the next one etc.