diff options
author | Christian Mauderer <christian.mauderer@embedded-brains.de> | 2021-04-13 13:55:11 +0200 |
---|---|---|
committer | Christian Mauderer <christian.mauderer@embedded-brains.de> | 2021-04-19 09:03:37 +0200 |
commit | 8aa3ddfbd7d64694bc6968aeac90e11056ce8a7d (patch) | |
tree | 896d4cf281c3d2929f7195ed1b4ad94f9795a30e /freebsd | |
parent | Revert "Import telnetd from RTEMS repository" (diff) | |
download | rtems-libbsd-8aa3ddfbd7d64694bc6968aeac90e11056ce8a7d.tar.bz2 |
MMCSD: Use cache aligned alloc for ioctl
Some drivers can't easily work with buffers that are not cache aligned
and have an arbitrary length. Therefore use an aligned malloc instead.
Diffstat (limited to 'freebsd')
-rw-r--r-- | freebsd/sys/dev/mmc/mmcsd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/freebsd/sys/dev/mmc/mmcsd.c b/freebsd/sys/dev/mmc/mmcsd.c index 3960845c..11cf945f 100644 --- a/freebsd/sys/dev/mmc/mmcsd.c +++ b/freebsd/sys/dev/mmc/mmcsd.c @@ -1196,7 +1196,11 @@ mmcsd_ioctl_cmd(struct mmcsd_part *part, struct mmc_ioc_cmd *mic, int fflag) goto out; } if (len != 0) { +#ifndef __rtems__ dp = malloc(len, M_TEMP, M_WAITOK); +#else /* __rtems__ */ + dp = rtems_cache_aligned_malloc(len); +#endif /* __rtems__ */ err = copyin((void *)(uintptr_t)mic->data_ptr, dp, len); if (err != 0) goto out; |