diff options
author | Michael Grzeschik <m.grzeschik@pengutronix.de> | 2017-11-08 19:07:47 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-11-10 08:01:18 +0100 |
commit | 7c3f8d3663cbee7e406bf949a263ce82f6b34ae8 (patch) | |
tree | 22cc0d8430ddf99d4e76a4ad9678d96813b6e377 /common | |
parent | ed5d71ab06bf45e585f9d03049f4730109979aff (diff) | |
download | barebox-7c3f8d3663cbee7e406bf949a263ce82f6b34ae8.tar.gz barebox-7c3f8d3663cbee7e406bf949a263ce82f6b34ae8.tar.xz |
uimage: fix: add can_lseek_backward and use in uimage_open
Since commit ce0cc7fe we support forward seek on tftpfs. This feature
breaks the condition to check rather we open an uimage over tftp. Since
backward seeking is the problem here, we add the function
can_lseek_backward and check for it instead of the simple lseek.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common')
-rw-r--r-- | common/uimage.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/common/uimage.c b/common/uimage.c index 28a25bba2d..b6f0f109ca 100644 --- a/common/uimage.c +++ b/common/uimage.c @@ -111,9 +111,9 @@ again: /* * Hack around tftp fs. We need lseek for uImage support, but * this cannot be implemented in tftp fs, so we detect this - * by doing a test lseek and copy the file to ram if it fails + * and copy the file to ram if it fails */ - if (IS_BUILTIN(CONFIG_FS_TFTP) && lseek(fd, 0, SEEK_SET)) { + if (IS_BUILTIN(CONFIG_FS_TFTP) && !can_lseek_backward(fd)) { close(fd); ret = copy_file(filename, uimage_tmp, 0); if (ret) |