Message ID | 20201206202220.27290-1-richard@nod.at |
---|---|
State | Accepted |
Commit | 1ca71415f075353974524e96ed175306d8a937a8 |
Headers | show |
Series | mtd: core: Fix refcounting for unpartitioned MTDs | expand |
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index e9e163ae9d86..b07cbb0661fb 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -993,6 +993,8 @@ int __get_mtd_device(struct mtd_info *mtd) } } + master->usecount++; + while (mtd->parent) { mtd->usecount++; mtd = mtd->parent; @@ -1059,6 +1061,8 @@ void __put_mtd_device(struct mtd_info *mtd) mtd = mtd->parent; } + master->usecount--; + if (master->_put_device) master->_put_device(master);
Apply changes to usecount also the the master partition. Otherwise we have no refcounting at all if an MTD has no partitions. Cc: stable@vger.kernel.org Fixes: 46b5889cc2c5 ("mtd: implement proper partition handling") Signed-off-by: Richard Weinberger <richard@nod.at> --- drivers/mtd/mtdcore.c | 4 ++++ 1 file changed, 4 insertions(+)