diff --git a/drivers/mtd/mtdraw.c b/drivers/mtd/mtdraw.c index be347233b..006b28f9b 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);