mtd: nand: Prevent possible kernel lockup in nand_command()
authorRoger Quadros <rogerq@ti.com>
Mon, 23 Feb 2015 15:26:39 +0000 (17:26 +0200)
committerBrian Norris <computersforpeace@gmail.com>
Tue, 31 Mar 2015 00:39:15 +0000 (17:39 -0700)
commit60c70d66cdd39eb560bba5a95c429bf2ad5294d0
tree52eb33f58905f89256ebd8836ff25af072b65f16
parent8cc7f33aadc8fb37b5a3f4c46f5fa83748a92a01
mtd: nand: Prevent possible kernel lockup in nand_command()

If a NAND device is not really present or pin muxes are not correctly
configured we can lock up the kernel waiting infinitely for NAND_STATUS
to be ready.

This can be easily reproduced on TI's DRA7-evm board by booting it
without NAND support in u-boot and disabling NAND pin muxes in the kernel.

Add timeout when waiting for NAND_CMD_RESET completion. As per ONFi v4.0
tRST can be upto 250ms for EZ-NAND and 5ms for raw NAND.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/nand_base.c