summaryrefslogtreecommitdiffstats
path: root/lib/bootstrap/devfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bootstrap/devfs.c')
-rw-r--r--lib/bootstrap/devfs.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/bootstrap/devfs.c b/lib/bootstrap/devfs.c
index 6a3dd76cdd..6d28b1cb4d 100644
--- a/lib/bootstrap/devfs.c
+++ b/lib/bootstrap/devfs.c
@@ -80,8 +80,8 @@ static unsigned int get_image_size(void *head)
}
#endif
-void* bootstrap_read_devfs(const char *devname, bool use_bb, int offset,
- int default_size, int max_size)
+void* bootstrap_read_devfs(char *devname, bool use_bb, int offset,
+ int default_size, int max_size, size_t *bufsize)
{
int ret;
int size = 0;
@@ -133,10 +133,13 @@ void* bootstrap_read_devfs(const char *devname, bool use_bb, int offset,
ret = cdev_read(cdev, to, size, 0, 0);
cdev_close(cdev);
- if (ret != size)
+ if (ret != size) {
bootstrap_err("%s: failed to read from %s\n", devname, partname);
- else
+ } else {
result = to;
+ if (bufsize)
+ *bufsize = size;
+ }
free_memory:
free(header);