From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH 03/14] mtd: maps: physmap: Use platform_get_resource() to retrieve iomem resources Date: Tue, 9 Oct 2018 09:54:15 +0200 Message-ID: <20181009095415.0e6309a3@bbrezillon> References: <20181008201027.17952-1-boris.brezillon@bootlin.com> <20181008201027.17952-4-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+gldm-linux-mtd-36=gmane.org@lists.infradead.org To: Ricardo Ribalda Delgado Cc: Mark Rutland , devicetree@vger.kernel.org, Pawel Moll , Ian Campbell , Richard Weinberger , Marek Vasut , Rob Herring , linux-mtd@lists.infradead.org, Kumar Gala , Brian Norris , David Woodhouse List-Id: devicetree@vger.kernel.org On Tue, 9 Oct 2018 09:16:41 +0200 Ricardo Ribalda Delgado wrote: > Hi Boris > On Mon, Oct 8, 2018 at 10:10 PM Boris Brezillon > wrote: > > > > Stop manipulating the dev->resource array directly and use the > > platform_get_resource() helper instead. > > > > While at it, fix the loop check so that we never overflow the info->maps > > and info->mtds array even if the number of resources attached to the > > platform dev is higher than MAX_RESOURCES. > > > > Signed-off-by: Boris Brezillon > > --- > > drivers/mtd/maps/physmap.c | 29 ++++++++++++++++++----------- > > 1 file changed, 18 insertions(+), 11 deletions(-) > > > > diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c > > index 4010afee4a33..e5b15ec2cb04 100644 > > --- a/drivers/mtd/maps/physmap.c > > +++ b/drivers/mtd/maps/physmap.c > > @@ -122,23 +122,28 @@ static int physmap_flash_probe(struct platform_device *dev) > > > > platform_set_drvdata(dev, info); > > > > - for (i = 0; i < dev->num_resources; i++) { > > + for (i = 0; i < MAX_RESOURCES; i++) { > > + struct resource *res; > > + > > + res = platform_get_resource(dev, IORESOURCE_MEM, i); > > + if (res) > > + break; > > Maybe if (!res) I'll fix that one. ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/