sandbox: Return error code from read/write/seek
The existing API for these functions is different from the rest of U-Boot, in that any error code must be obtained from the errno variable on failure. This variable is part of the C library, so accessing it outside of the special 'sandbox' shim-functions is not ideal. Adjust the API to return an error code, to avoid this. Update existing uses to check for any negative value, rather than just -1. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -25,7 +25,7 @@ static unsigned long host_block_read(struct udevice *dev,
|
||||
struct udevice *host_dev = dev_get_parent(dev);
|
||||
struct host_sb_plat *plat = dev_get_plat(host_dev);
|
||||
|
||||
if (os_lseek(plat->fd, start * desc->blksz, OS_SEEK_SET) == -1) {
|
||||
if (os_lseek(plat->fd, start * desc->blksz, OS_SEEK_SET) < 0) {
|
||||
printf("ERROR: Invalid block %lx\n", start);
|
||||
return -1;
|
||||
}
|
||||
@@ -44,7 +44,7 @@ static unsigned long host_block_write(struct udevice *dev,
|
||||
struct udevice *host_dev = dev_get_parent(dev);
|
||||
struct host_sb_plat *plat = dev_get_plat(host_dev);
|
||||
|
||||
if (os_lseek(plat->fd, start * desc->blksz, OS_SEEK_SET) == -1) {
|
||||
if (os_lseek(plat->fd, start * desc->blksz, OS_SEEK_SET) < 0) {
|
||||
printf("ERROR: Invalid block %lx\n", start);
|
||||
return -1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user