From 00a5f9748e3c6757140efda393cd474881e2c7fa Mon Sep 17 00:00:00 2001 From: Christian Mauderer Date: Tue, 13 Apr 2021 13:55:11 +0200 Subject: 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. --- freebsd/sys/dev/mmc/mmcsd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/freebsd/sys/dev/mmc/mmcsd.c b/freebsd/sys/dev/mmc/mmcsd.c index 21f54046..bd45b419 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; -- cgit v1.2.3