[PATCH] mtd: rawnand: arasan: Fix missing de-registration of NAND chip-selects
Maciej Andrzejewski
maciej.andrzejewski at m-works.net
Mon Dec 2 05:25:59 PST 2024
The NAND chip-selects are registered for the Arasan driver during
initialization but are not de-registered when the driver is unloaded. As a
result, if the driver is loaded again, the chip-selects remain registered
and busy, making them unavailable for use.
Fixes: 197b88fecc50ee3c7a22415db81eae0b9126f20e ("mtd: rawnand: arasan: Add new Arasan NAND controller")
Cc: stable at vger.kernel.org
Signed-off-by: Maciej Andrzejewski ICEYE <maciej.andrzejewski at m-works.net>
---
drivers/mtd/nand/raw/arasan-nand-controller.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/mtd/nand/raw/arasan-nand-controller.c b/drivers/mtd/nand/raw/arasan-nand-controller.c
index 5436ec4a8fde..36c23fa186f2 100644
--- a/drivers/mtd/nand/raw/arasan-nand-controller.c
+++ b/drivers/mtd/nand/raw/arasan-nand-controller.c
@@ -1478,8 +1478,15 @@ static int anfc_probe(struct platform_device *pdev)
static void anfc_remove(struct platform_device *pdev)
{
+ int i;
struct arasan_nfc *nfc = platform_get_drvdata(pdev);
+ for (i = 0; i < nfc->ncs; i++) {
+ if (nfc->cs_array[i]) {
+ gpiod_put(nfc->cs_array[i]);
+ }
+ }
+
anfc_chips_cleanup(nfc);
}
More information about the linux-mtd
mailing list