summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/mtdraw.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-02-13 14:28:05 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-02-26 08:33:18 +0100
commit05e4864f6bb2b61ff842808b911a7f296bca73d8 (patch)
treeef6171a699b18d74b33c67c5f55ea0d618697655 /drivers/mtd/mtdraw.c
parent9c66af7b0edbf540bde9c3f1a7c03a583e566941 (diff)
downloadbarebox-05e4864f6bb2b61ff842808b911a7f296bca73d8.tar.gz
barebox-05e4864f6bb2b61ff842808b911a7f296bca73d8.tar.xz
mtd: mtdraw: Do not create for partitions and devices without oob
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mtd/mtdraw.c')
-rw-r--r--drivers/mtd/mtdraw.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mtd/mtdraw.c b/drivers/mtd/mtdraw.c
index be347233bd..006b28f9b2 100644
--- a/drivers/mtd/mtdraw.c
+++ b/drivers/mtd/mtdraw.c
@@ -285,6 +285,9 @@ static int add_mtdraw_device(struct mtd_info *mtd, char *devname, void **priv)
{
struct mtdraw *mtdraw;
+ if (mtd->master || mtd->oobsize == 0)
+ return 0;
+
mtdraw = xzalloc(sizeof(*mtdraw));
mtdraw->writebuf = xmalloc(RAW_WRITEBUF_SIZE);
mtdraw->mtd = mtd;
@@ -306,6 +309,9 @@ static int del_mtdraw_device(struct mtd_info *mtd, void **priv)
{
struct mtdraw *mtdraw;
+ if (mtd->master || mtd->oobsize == 0)
+ return 0;
+
mtdraw = *priv;
devfs_remove(&mtdraw->cdev);
free(mtdraw);