[PATCH 0/2] i2c: qcom-geni: Quiesce hardware on shutdown and panic
Praveen Talari <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.drivers.i2c,gmane.linux.ports.arm.msm |
|---|---|
| Message-ID | <20260818-add-shutdown-and-panic-notifier-for-i2c-v1-0-9f31b5fae5f6@oss.qualcomm.com> |
This series hardens the GENI I2C driver against two related VM-teardown scenarios where an in-flight I2C DMA transfer can trigger SMMU context faults after the VM's memory context has already been invalidated. Patch 1 adds a shutdown callback that cancels/aborts any in-progress GENI or GPI DMA transfer and resets the TX/RX FSMs before a normal reboot proceeds, so the hardware is left idle rather than mid-transfer. Patch 2 adds a panic notifier that marks the I2C adapter suspended and performs the same cancel/abort/DMA-reset cleanup as the shutdown path, using atomic-context-safe DMA termination since panic notifiers cannot sleep. Together these prevent both hardware state corruption on reboot and SMMU faults (which can affect other VMs sharing the same SMMU instance) during VM shutdown/crash. Signed-off-by: Praveen Talari <[email protected]> --- Praveen Talari (2): i2c: qcom-geni: Add shutdown callback to quiesce hardware on reboot i2c: qcom-geni: Add panic notifier to prevent transfers during panic drivers/i2c/busses/i2c-qcom-geni.c | 77 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 3 deletions(-) --- base-commit: 4477a78374a57c3809b172ad30cceabda48c47c6 change-id: 20260817-add-shutdown-and-panic-notifier-for-i2c-6723fc0f557e Best regards, -- Praveen Talari <[email protected]>