linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] mtd: nand: BUG_ON in case of no select_chip and cmd_ctrl
@ 2016-07-19 15:41 Andrey Smirnov
  2016-07-19 15:41 ` [PATCH 2/2] mtd: nand: Get rid of needless 'goto' Andrey Smirnov
  2016-07-19 15:44 ` [PATCH 1/2] mtd: nand: BUG_ON in case of no select_chip and cmd_ctrl Richard Weinberger
  0 siblings, 2 replies; 18+ messages in thread
From: Andrey Smirnov @ 2016-07-19 15:41 UTC (permalink / raw)
  To: linux-mtd
  Cc: Andrey Smirnov, Boris Brezillon, Richard Weinberger,
	David Woodhouse, Brian Norris, linux-kernel

If no user specified chip->select_chip() function is provided, code in
nand_base.c will automatically set this hook to nand_select_chip(),
which in turn depends on chip->cmd_ctrl() hook being valid. Not
providing both of those functions in NAND controller driver (for example
by mistake) will result in a bit cryptic segfault. Replace it with
explicit BUG_ON statement so it would be obvious what went wrong.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 drivers/mtd/nand/nand_base.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index ce7b2ca..57043a6 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -3128,8 +3128,10 @@ static void nand_set_defaults(struct nand_chip *chip, int busw)
 	if (chip->waitfunc == NULL)
 		chip->waitfunc = nand_wait;
 
-	if (!chip->select_chip)
+	if (!chip->select_chip) {
+		BUG_ON(!chip->cmd_ctrl);
 		chip->select_chip = nand_select_chip;
+	}
 
 	/* set for ONFI nand */
 	if (!chip->onfi_set_features)
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2016-07-19 19:44 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-19 15:41 [PATCH 1/2] mtd: nand: BUG_ON in case of no select_chip and cmd_ctrl Andrey Smirnov
2016-07-19 15:41 ` [PATCH 2/2] mtd: nand: Get rid of needless 'goto' Andrey Smirnov
2016-07-19 18:30   ` Brian Norris
2016-07-19 18:48     ` Andrey Smirnov
2016-07-19 18:55       ` Boris Brezillon
2016-07-19 19:43         ` Brian Norris
2016-07-19 15:44 ` [PATCH 1/2] mtd: nand: BUG_ON in case of no select_chip and cmd_ctrl Richard Weinberger
2016-07-19 15:59   ` Boris Brezillon
2016-07-19 16:02     ` Richard Weinberger
2016-07-19 16:12       ` Boris Brezillon
2016-07-19 16:22         ` Richard Weinberger
2016-07-19 18:11           ` Andrey Smirnov
2016-07-19 18:16             ` Boris Brezillon
2016-07-19 18:23               ` Brian Norris
2016-07-19 18:36                 ` Andrey Smirnov
2016-07-19 18:19         ` Brian Norris
2016-07-19 18:47           ` Boris Brezillon
2016-07-19 19:39             ` Brian Norris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).