In the current implementation, set_blk_dev() is called in opening a file, but not in opening a directory. This will cause failures at succeeding directory operations as the "current" block device remains nullified. Adding set_blk_dev() fixes this issue.
Signed-off-by: AKASHI Takahiro <takahiro.aka...@linaro.org> --- lib/efi_loader/efi_file.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c index 140116ddc4ac..ba55b2829e03 100644 --- a/lib/efi_loader/efi_file.c +++ b/lib/efi_loader/efi_file.c @@ -235,6 +235,9 @@ static struct efi_file_handle *file_open(struct file_system *fs, } else { fh->isdir = 1; strcpy(fh->path, ""); + + if (set_blk_dev(fh)) + goto error; } return &fh->base; -- 2.24.0