On Wed, 25 Jul 2018 18:42:44 +0900 Masahiro Yamada <yamada.masahiro at socionext.com> wrote: > > You need to remove kfree(denali->buf) > from denali_remove(), right? Absolutely. > > void denali_remove(struct denali_nand_info *denali) > { > struct mtd_info *mtd = nand_to_mtd(&denali->nand); > > nand_release(mtd); > kfree(denali->buf); <---- REMOVE !! > denali_disable_irq(denali); > } > > > Otherwise, denali_remove() will free denali->buf twice > because kfree(denali->buf) is called from denali_detach_chip().