Hi Boris, Boris Brezillon <boris.brezillon at bootlin.com> wrote on Wed, 25 Jul 2018 11:51:16 +0200: > 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(). > Absolutely, thanks for reviewing! I'll apply with this changed. Miqu?l