summaryrefslogtreecommitdiffstats
path: root/common/partitions.c
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-03-22 14:38:59 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-03-23 12:16:25 +0100
commit24b658c83eb86e269e682b8019691ba3c166e09d (patch)
treed15783bca079bed15fdd33d2ccc6058f28ff9077 /common/partitions.c
parenta370dc93f67bf4f35a5c8269fff37510108ad486 (diff)
downloadbarebox-24b658c83eb86e269e682b8019691ba3c166e09d.tar.gz
barebox-24b658c83eb86e269e682b8019691ba3c166e09d.tar.xz
partitions: don't allocate dma capable memory
While block drivers may do DMA, they always use block caching chunks as bounce buffer. No dma is every done directly to the block_read data argument, so it doesn't need to be allocated with dma_alloc. The buffer also need not be zeroed, as block_read will either overwrite it completely or fail. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/partitions.c')
-rw-r--r--common/partitions.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/common/partitions.c b/common/partitions.c
index 1f0c544c60..deb931f329 100644
--- a/common/partitions.c
+++ b/common/partitions.c
@@ -17,7 +17,6 @@
#include <asm/unaligned.h>
#include <disks.h>
#include <filetype.h>
-#include <dma.h>
#include <linux/err.h>
#include "partitions/parser.h"
@@ -120,7 +119,7 @@ int parse_partition_table(struct block_device *blk)
uint8_t *buf;
pdesc = xzalloc(sizeof(*pdesc));
- buf = dma_alloc(SECTOR_SIZE * 2);
+ buf = malloc(2 * SECTOR_SIZE);
rc = block_read(blk, buf, 0, 2);
if (rc != 0) {
@@ -149,7 +148,7 @@ int parse_partition_table(struct block_device *blk)
}
on_error:
- dma_free(buf);
+ free(buf);
free(pdesc);
return rc;
}