r852_register_nand_device() enables the NAND engine before scanning and registering the card. If sm_register_device() or device_create_file() fails, the error path leaves the engine enabled while card_registered remains clear. A subsequent removal work item sees no registered card and skips unregistration. The device removal path also returns immediately from r852_unregister_nand_device() in this state, so neither path disables the engine. Disable the engine in the common registration-failure path after any required NAND cleanup. Fixes: 67e054e91924 ("mtd: nand: Add driver for Ricoh xD/SmartMedia reader") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/sashiko-outbox-204169@kernel.org/ Signed-off-by: James Hilliard --- drivers/mtd/nand/raw/r852.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mtd/nand/raw/r852.c b/drivers/mtd/nand/raw/r852.c index 92c47d351c27..073f96f73be3 100644 --- a/drivers/mtd/nand/raw/r852.c +++ b/drivers/mtd/nand/raw/r852.c @@ -656,6 +656,7 @@ static int r852_register_nand_device(struct r852_device *dev) WARN_ON(mtd_device_unregister(nand_to_mtd(dev->chip))); nand_cleanup(dev->chip); error1: + r852_engine_disable(dev); /* Force card redetect */ dev->card_detected = 0; return -1; --- base-commit: 30daaf3e7897b4a8d9b72e5b0c86dd6e2a4d7d85 change-id: 20261108-submit-r852-registration-unwind-v1-5c7cef4b5a70 Best regards, -- James Hilliard