Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MTD: nandsim: suppress unnecessary warning

nand_base sometimes reads only 2 bytes of a 4 byte id.
It is OK. Do not print a warning in that case.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

authored by

Adrian Hunter and committed by
David Woodhouse
9359ea46 4f8f3af2

+11 -7
+11 -7
drivers/mtd/nand/nandsim.c
··· 1736 1736 1737 1737 /* Check if chip is expecting command */ 1738 1738 if (NS_STATE(ns->nxstate) != STATE_UNKNOWN && !(ns->nxstate & STATE_CMD_MASK)) { 1739 - /* 1740 - * We are in situation when something else (not command) 1741 - * was expected but command was input. In this case ignore 1742 - * previous command(s)/state(s) and accept the last one. 1743 - */ 1744 - NS_WARN("write_byte: command (%#x) wasn't expected, expected state is %s, " 1745 - "ignore previous states\n", (uint)byte, get_state_name(ns->nxstate)); 1739 + /* Do not warn if only 2 id bytes are read */ 1740 + if (!(ns->regs.command == NAND_CMD_READID && 1741 + NS_STATE(ns->state) == STATE_DATAOUT_ID && ns->regs.count == 2)) { 1742 + /* 1743 + * We are in situation when something else (not command) 1744 + * was expected but command was input. In this case ignore 1745 + * previous command(s)/state(s) and accept the last one. 1746 + */ 1747 + NS_WARN("write_byte: command (%#x) wasn't expected, expected state is %s, " 1748 + "ignore previous states\n", (uint)byte, get_state_name(ns->nxstate)); 1749 + } 1746 1750 switch_to_ready_state(ns, NS_STATUS_FAILED(ns)); 1747 1751 } 1748 1752