Message ID | 1396500259-6374-1-git-send-email-nobuhiro.iwamatsu.yj@renesas.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Hello, On 04/03/2014 06:44 AM, Nobuhiro Iwamatsu wrote: > Use of malloc of do_fat_write() from USB media causes cache error on I would remove 'from USB media' from the commit log as it doesn't really matter where you read from. > ARM v7 platforms. Perhaps, the same problem will occur at any other CPUs. > This replaces malloc with memalign to fix cache buffer alignment. > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> > Signed-off-by: Yoshiyuki Ito <yoshiyuki.ito.ub@renesas.com> > --- > fs/fat/fat_write.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c > index 9f5e911..cef138e 100644 > --- a/fs/fat/fat_write.c > +++ b/fs/fat/fat_write.c > @@ -952,7 +952,7 @@ static int do_fat_write(const char *filename, void *buffer, > } > > mydata->fatbufnum = -1; > - mydata->fatbuf = malloc(FATBUFSIZE); > + mydata->fatbuf = memalign(ARCH_DMA_MINALIGN, FATBUFSIZE); > if (mydata->fatbuf == NULL) { > debug("Error: allocating memory\n"); > return -1; > Tested on an i.MX6 custom platform. Tested-by: Hector Palacios <hector.palacios@digi.com> Thanks,
Hi! 2014-04-07 23:19 GMT+09:00 Hector Palacios <hector.palacios@digi.com>: > Hello, > > > On 04/03/2014 06:44 AM, Nobuhiro Iwamatsu wrote: >> >> Use of malloc of do_fat_write() from USB media causes cache error on > > > I would remove 'from USB media' from the commit log as it doesn't really > matter where you read from. I see. I will remove and re-send. > > >> ARM v7 platforms. Perhaps, the same problem will occur at any other CPUs. >> This replaces malloc with memalign to fix cache buffer alignment. >> >> Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> >> Signed-off-by: Yoshiyuki Ito <yoshiyuki.ito.ub@renesas.com> >> --- >> fs/fat/fat_write.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c >> index 9f5e911..cef138e 100644 >> --- a/fs/fat/fat_write.c >> +++ b/fs/fat/fat_write.c >> @@ -952,7 +952,7 @@ static int do_fat_write(const char *filename, void >> *buffer, >> } >> >> mydata->fatbufnum = -1; >> - mydata->fatbuf = malloc(FATBUFSIZE); >> + mydata->fatbuf = memalign(ARCH_DMA_MINALIGN, FATBUFSIZE); >> if (mydata->fatbuf == NULL) { >> debug("Error: allocating memory\n"); >> return -1; >> > > Tested on an i.MX6 custom platform. > > Tested-by: Hector Palacios <hector.palacios@digi.com> > Thanks for your test! > Thanks, Best regards, Nobuhiro
diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c index 9f5e911..cef138e 100644 --- a/fs/fat/fat_write.c +++ b/fs/fat/fat_write.c @@ -952,7 +952,7 @@ static int do_fat_write(const char *filename, void *buffer, } mydata->fatbufnum = -1; - mydata->fatbuf = malloc(FATBUFSIZE); + mydata->fatbuf = memalign(ARCH_DMA_MINALIGN, FATBUFSIZE); if (mydata->fatbuf == NULL) { debug("Error: allocating memory\n"); return -1;