[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: [PATCH v10] MTD: LPC32xx MLC NAND driver
From:       Artem Bityutskiy <dedekind1 () gmail ! com>
Date:       2012-06-30 14:22:51
Message-ID: 1341066171.2115.10.camel () koala
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On Sat, 2012-06-30 at 14:32 +0200, Roland Stigge wrote:
> Hi Artem!
> 
> Thanks for the notes!
> 
> On 29/06/12 14:37, Artem Bityutskiy wrote:
> > Successfully built configuration
> > "arm-lpc32xx_defconfig,arm,arm-unknown-linux-gnueabi-", results:
> > 
> > --- before_patching.log +++ after_patching.log @@ @@ 
> > +drivers/mtd/nand/lpc32xx_mlc.c: In function 'lpc32xx_nand_probe': 
> > +drivers/mtd/nand/lpc32xx_mlc.c:679:10: warning: variable 'sr' set
> > but not used [-Wunused-but-set-variable] 
> > +drivers/mtd/nand/lpc32xx_mlc.c:561:24: error: bad constant
> > expression [sparse]
> 
> This is because sparse doesn't understand this local variable:
> 
> uint8_t buf[mtd->writesize];

mtd->writesize is typically 2048KiB (or even larger, there are MLCs with
4 and 8 KiB NAND page size). You cannot allocate that much on the stack,
linux kernel stack size is very small - only 8KiB, and there are people
who use even 4KiB stacks. So this have to be fixed.

> The above construction is quite convenient for this case and I'd
> prefer this to allocating another buffer dynamically.

Yes, in userspaces it is, but unfortunately in the kernel we cannot
afford allocating that much on the stack.

-- 
Best Regards,
Artem Bityutskiy

["signature.asc" (application/pgp-signature)]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic