On Mon, 17 Sep 2018 16:03:18 +0200 Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > Hi Boris, > > Boris Brezillon <boris.brezillon@xxxxxxxxxxx> wrote on Mon, 17 Sep 2018 > 15:51:40 +0200: > > > On Mon, 17 Sep 2018 11:55:20 +0200 > > Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > > > > > > Or you just say that mtd_get_of_node() does not retain a reference to > > > > the device_node object it returns and that should be enough ;-). > > > > > > Fine by me, you can apply it and modify in place. > > > > Here is the new commit message: > > > > " > > mtd: partitions: fix unbalanced of_node_get/put() > > > > While at first mtd_part_of_parse() would just call > > of_get_chil_by_name(), it has been patched to deal with sub-partitions > > and will now directly manipulate the node returned mtd_get_of_node() if > > ^by > > > the MTD device is a partition. > > > > A of_node_put() was a bit below in the code, to balance the > > of_get_child_by_name(). However, despite its name, mtd_get_of_node() > > does not take a reference on the OF node. It is a simple helper > > hiding some pointer logic to retrieve the OF node related to an MTD > > device. > > > > The direct effect of such unbalanced reference counting is visible > > by rmmod'ing any module that would have added MTD partitions: > > > > OF: ERROR: Bad of_node_put() on <of_path_to_partition> > > > > As it seems normal to get a reference on the OF node during the > > of_property_for_each_string() that follows, add a call to > > of_node_get() when relevant. > > > > Fixes: 76a832254ab0 ("mtd: partitions: use DT info for parsing partitions with "compatible" prop") > > Cc: stable@xxxxxxxxxxxxxxx > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > > Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxx> > > " > > > > Let me know if you're okay with this update. > > One missing work, otherwise I'm ok. Fixed and pushed. Thanks, Boris