Subject: Re: [PATCH] mtd: rawnand: marvell: select target before setting up data interface

From: Miquel Raynal <[email-masked]>
Date: Fri, 22 Mar 2019 09:30:46 +0100

Hi Daniel,

+ Richard: this is fixes materials

Daniel Mack <[email-masked]> wrote on Thu, 21 Mar 2019 22:20:10
+0100:

> Now that the nand drivers are responsible for selecting the target
> prior to hardware access, a call to marvell_nfc_select_target() is
> necessary from marvell_nfc_setup_data_interface().
> 
> This is a regression introduced by commit b25251414f6e ("mtd:
> rawnand: marvell: Stop implementing ->select_chip()").
> 
> Fixes: b25251414f6e ("mtd: rawnand: marvell: Stop implementing ->select_chip()")
> Cc: Boris Brezillon <[email-masked]>
> Cc: <[email-masked]>
> Signed-off-by: Daniel Mack <[email-masked]>
> ---
>  drivers/mtd/nand/raw/marvell_nand.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
> index 84283c6bb0ff..93abe5be8995 100644
> --- a/drivers/mtd/nand/raw/marvell_nand.c
> +++ b/drivers/mtd/nand/raw/marvell_nand.c
> @@ -2325,6 +2325,8 @@ static int marvell_nfc_setup_data_interface(struct nand_chip *chip, int chipnr,
>  	struct marvell_nfc_timings nfc_tmg;
>  	int read_delay;
>  
> +	marvell_nfc_select_target(chip, chip->cur_cs);
> +
>  	sdr = nand_get_sdr_timings(conf);
>  	if (IS_ERR(sdr))
>  		return PTR_ERR(sdr);

I had a short look yesterday and this is very likely to be the root
cause of the regression, thank you very much!

Acked-by: Miquel Raynal <[email-masked]>

Thanks,
Miquèl

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel