[PATCH v2 0/4] mtd: rawnand: qcom: unwind failed child initialization

From: James Hilliard

Date: Sun Nov 08 2026 - 17:43:17 EST


Keep the shared BAM transaction usable when resizing it fails, validate
the boot-partition layout before publishing a chip, and propagate child
probe failures after unregistering any previously published chips.

The first three patches fix layout validation, allocation failure and
controller-wide probe unwind. The fourth scans every chip before
publishing any MTD devices, so initialization cannot race with I/O
on an earlier chip using the shared controller state.

Assisted-by: Codex:gpt-6-astra
Signed-off-by: James Hilliard <james.hilliard1@xxxxxxxxx>

---
Changes in v2:
- Add a patch separating initialization of all chips from MTD
registration, addressing the concurrent BAM replacement report.
- Track which scanned chips are registered for probe-error cleanup.
- Link to v1: https://patch.msgid.link/20261108-submit-qcom-nand-child-probe-errors-v1-v1-0-509f30a9e14d@xxxxxxxxx

To: Manivannan Sadhasivam <mani@xxxxxxxxxx>
To: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
To: Richard Weinberger <richard@xxxxxx>
To: Vignesh Raghavendra <vigneshr@xxxxxx>
To: Christian Marangi <ansuelsmth@xxxxxxxxx>
To: Sricharan R <quic_srichara@xxxxxxxxxxx>
To: Md Sadre Alam <quic_mdalam@xxxxxxxxxxx>
To: Boris Brezillon <bbrezillon@xxxxxxxxxx>
Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx
Cc: linux-arm-msm@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

---
James Hilliard (4):
mtd: rawnand: qcom: parse boot partitions before registering MTD
mtd: rawnand: qcom: retain the BAM transaction if replacement fails
mtd: rawnand: qcom: unwind registered chips on child probe failure
mtd: rawnand: qcom: scan all chips before registering MTD devices

drivers/mtd/nand/raw/qcom_nandc.c | 72 ++++++++++++++++++++++++---------------
1 file changed, 44 insertions(+), 28 deletions(-)
---
base-commit: 30daaf3e7897b4a8d9b72e5b0c86dd6e2a4d7d85
change-id: 20261107-submit-qcom-nand-child-probe-errors-v1-f5e2703a17a5

Best regards,
--
James Hilliard <james.hilliard1@xxxxxxxxx>