Re: [PATCH] mtd_dataflash use command allocated on stack

Vitja Makarov
2008-04-23T04:00:41Z

2008/4/23 David Woodhouse <dwmw2@infradead.org>:
> On Fri, 2008-04-04 at 09:02 +0400, Vitja Makarov wrote:
> > Hi!
> >
> >
> > Currently mtd_dataflash driver has command in their private structure.
> > That is only 4 bytes, sometimes actually 8 is needed.
> > Also it could be accessed twice before lock is taken.
> >
> > This patch moves command to stack.
>
> Is that allowed? The SPI code might DMA from it, surely?
>
> --
> dwmw2
>
>

I'm using this driver with dma enabled on blackfin arch and that seems to work.
Btw mutex is taken before priv->command is accessed so no race could be here.
But I still think that having command 4 bytes when it's actually 8 (4
+ 4 don't cares) isn't a good idea.
If you are asking about could spi DMA from stack, I think so, as
spi_sync() is called before ret, but there still are cache issues,
dataflash or better spi driver should call invalidate/flush for the
given address if needed, I moved it to spi_bfin code, and that seems
to work for me wo modifyng original dataflash driver.