Re: [PATCH v7 09/12] i3c: dw-i3c-master: Add ACPI ID for Tegra410
[email protected] Tue, 28 Jul 2026 07:19:22 +0000
| Newsgroups | org.kernel.vger.linux-hwmon,org.infradead.lists.linux-i3c,org.kernel.vger.linux-devicetree |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] Pointer address assigned to an integer bitmask variable for quirks under ACPI PRP0001 matching. -- --- Patch [9]: [PATCH v7 09/12] i3c: dw-i3c-master: Add ACPI ID for Tegra410 --- commit 4b2659ca2047946e238179b5da94407cbd49ffa2 Author: Akhil R <[email protected]> i3c: dw-i3c-master: Add ACPI ID for Tegra410 Update variable names to generic names and add Tegra410 ACPI ID to support the I3C controller in Tegra410, which is a DesignWare I3C host controller. > diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c > index 273d7a0020993..12069aa56fad8 100644 > --- a/drivers/i3c/master/dw-i3c-master.c > +++ b/drivers/i3c/master/dw-i3c-master.c > @@ -1855,11 +1855,12 @@ static const struct of_device_id dw_i3c_master_of_match[] = { > }; > MODULE_DEVICE_TABLE(of, dw_i3c_master_of_match); > > -static const struct acpi_device_id amd_i3c_device_match[] = { > +static const struct acpi_device_id dw_i3c_master_acpi_match[] = { > { "AMDI0015", AMD_I3C_OD_PP_TIMING }, > + { "NVDA2018", DW_I3C_ACPI_SKIP_CLK_RST }, > { } > }; [Severity: High] This is a pre-existing issue, but does dw_i3c_common_probe() improperly cast pointers to integer bitmasks under ACPI PRP0001 matching? If a system uses the ACPI PRP0001 HID alongside the "altr,agilex5-dw-i3c-master" compatible string, device_get_match_data() will return a pointer to altr_agilex5_drvdata. Because the device has an ACPI companion, the probe function processes it like this: drivers/i3c/master/dw-i3c-master.c:dw_i3c_common_probe() { ... if (has_acpi_companion(&pdev->dev)) { quirks = (unsigned long)device_get_match_data(&pdev->dev); } else if (pdev->dev.of_node) { ... } Will this cause the memory address of altr_agilex5_drvdata to be cast directly to an integer bitmask, resulting in random quirks being activated based on memory alignment (e.g., falsely applying DW_I3C_ACPI_SKIP_CLK_RST or DW_I3C_DISABLE_RUNTIME_PM_QUIRK)? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=9