diff options
Diffstat (limited to 'nand_spl/nand_boot.c')
| -rw-r--r-- | nand_spl/nand_boot.c | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/nand_spl/nand_boot.c b/nand_spl/nand_boot.c index 9545a9a7b..4683c7c52 100644 --- a/nand_spl/nand_boot.c +++ b/nand_spl/nand_boot.c @@ -122,10 +122,15 @@ static int nand_is_bad_block(struct mtd_info *mtd, int block)  	nand_command(mtd, block, 0, CONFIG_SYS_NAND_BAD_BLOCK_POS, NAND_CMD_READOOB);  	/* -	 * Read one byte +	 * Read one byte (or two if it's a 16 bit chip).  	 */ -	if (readb(this->IO_ADDR_R) != 0xff) -		return 1; +	if (this->options & NAND_BUSWIDTH_16) { +		if (readw(this->IO_ADDR_R) != 0xffff) +			return 1; +	} else { +		if (readb(this->IO_ADDR_R) != 0xff) +			return 1; +	}  	return 0;  } |