From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH 1/5] mtd: Initialize ->fail_addr early in mtd_erase() Date: Sun, 18 Mar 2018 22:22:31 +0100 Message-ID: <20180318222231.48533c20@bbrezillon> References: <20180212210311.23244-1-boris.brezillon@bootlin.com> <20180212210311.23244-2-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: devel@driverdev.osuosl.org, Bert Kenward , Solarflare linux maintainers , Artem Bityutskiy , Miquel Raynal , Michael Ellerman , linuxppc-dev@lists.ozlabs.org, Joern Engel , Greg Kroah-Hartman , Kyungmin Park , netdev@vger.kernel.org, Paul Mackerras , Benjamin Herrenschmidt , Edward Cree , Robert Jarzmik To: David Woodhouse , Brian Norris , Boris Brezillon , Marek Vasut , Richard Weinberger , Cyrille Pitchen , linux-mtd@lists.infradead.org Return-path: In-Reply-To: <20180212210311.23244-2-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" List-Id: netdev.vger.kernel.org On Mon, 12 Feb 2018 22:03:07 +0100 Boris Brezillon wrote: > mtd_erase() can return an error before ->fail_addr is initialized to > MTD_FAIL_ADDR_UNKNOWN. Move this initialization at the very beginning > of the function. Applied the patchset after addressing Miquel's comments. > > Signed-off-by: Boris Brezillon > --- > drivers/mtd/mtdcore.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c > index a1c94526fb88..c87859ff338b 100644 > --- a/drivers/mtd/mtdcore.c > +++ b/drivers/mtd/mtdcore.c > @@ -953,6 +953,8 @@ EXPORT_SYMBOL_GPL(__put_mtd_device); > */ > int mtd_erase(struct mtd_info *mtd, struct erase_info *instr) > { > + instr->fail_addr = MTD_FAIL_ADDR_UNKNOWN; > + > if (!mtd->erasesize || !mtd->_erase) > return -ENOTSUPP; > > @@ -961,7 +963,6 @@ int mtd_erase(struct mtd_info *mtd, struct erase_info *instr) > if (!(mtd->flags & MTD_WRITEABLE)) > return -EROFS; > > - instr->fail_addr = MTD_FAIL_ADDR_UNKNOWN; > if (!instr->len) { > instr->state = MTD_ERASE_DONE; > mtd_erase_callback(instr); -- Boris Brezillon, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com