Thread (79 messages) 79 messages, 5 authors, 2016-01-07

[PATCH v5 01/58] mtd: nand: denali: add missing nand_release() call in denali_remove()

From: Dinh Nguyen <hidden>
Date: 2015-12-11 16:50:26
Also in: linux-omap, linux-samsung-soc, lkml

Hi Boris,

On Fri, Dec 11, 2015 at 9:10 AM, Boris Brezillon
[off-list ref] wrote:
+ Dinh (who made commit 2a0a288ec258)

Also added back the Fixes tag.

On Fri, 11 Dec 2015 15:02:34 +0100
Boris Brezillon [off-list ref] wrote:
quoted
Unregister the NAND device from the NAND subsystem when removing a denali
NAND controller, otherwise the MTD attached to the NAND device is still
exposed by the MTD layer, and accesses to this device will likely crash
the system.

Signed-off-by: Boris Brezillon <redacted>
Fixes: 2a0a288ec258 ("mtd: denali: split the generic driver and PCI layer")
quoted
---
Changes since v4:
- remove Cc stable and fixes tags
- calculate the dma buffer size before calling nand_release()

 drivers/mtd/nand/denali.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 67eb2be..fdfea05 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1622,9 +1622,11 @@ EXPORT_SYMBOL(denali_init);
 /* driver exit point */
 void denali_remove(struct denali_nand_info *denali)
 {
+     int bufsize = denali->mtd.writesize + denali->mtd.oobsize;
+
+     nand_release(&denali->mtd);
      denali_irq_cleanup(denali->irq, denali);
-     dma_unmap_single(denali->dev, denali->buf.dma_buf,
-                      denali->mtd.writesize + denali->mtd.oobsize,
+     dma_unmap_single(denali->dev, denali->buf.dma_buf, bufsize,
                       DMA_BIDIRECTIONAL);
Not sure what is the need to add bufsize here, but the commit message
doesn't reflect the change.

Dinh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help