[PATCH] fixup! mtd: nand: allocate aligned buffers if NAND_OWN_BUFFERS is unset

Boris Brezillon boris.brezillon at free-electrons.com
Sun Apr 9 00:09:47 PDT 2017


On Fri,  7 Apr 2017 16:06:38 +0900
Masahiro Yamada <yamada.masahiro at socionext.com> wrote:

> ---
> 
> Bug port: http://patchwork.ozlabs.org/patch/745136/
> Please squash into commit f6614d1b.
> (Currently, only once patch on top of that.)
> If impossible, I can re-send this with detailed log.
> 
> 
>  drivers/mtd/nand/nand_base.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> index 8a2e5ff..903a678 100644
> --- a/drivers/mtd/nand/nand_base.c
> +++ b/drivers/mtd/nand/nand_base.c
> @@ -4936,7 +4936,7 @@ void nand_cleanup(struct nand_chip *chip)
>  
>  	/* Free bad block table memory */
>  	kfree(chip->bbt);
> -	if (!(chip->options & NAND_OWN_BUFFERS)) {
> +	if (!(chip->options & NAND_OWN_BUFFERS) && !chip->buffers) {

You mean

	if (!(chip->options & NAND_OWN_BUFFERS) && chip->buffers) {

right?

I'll squash this change in you initial commit, but I have a comment on
where the real bug lies IMO (see my reply to "mtd: nand: allocate
aligned buffers if NAND_OWN_BUFFERS is unset").

>  		kfree(chip->buffers->databuf);
>  		kfree(chip->buffers->ecccode);
>  		kfree(chip->buffers->ecccalc);




More information about the linux-mtd mailing list