fastboot: properly handle unknown partition type
In getvar_partition_type() we attempt to find a filesystem driver for
the partition (of the list of driver enabled in U-Boot), on failure we
return the error to fastboot and completely bail out of the operation.
However, this should not be a failure, instead we should just default to
"raw". This allows commands like "fastboot format:ext4 userdata" to work
if userdata didn't already have an ext4 partition table (or if FS_EXT4
is disabled in U-Boot), as failing to determine the current partition
type is not an error in this case.
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20241113050607.1850472-1-caleb.connolly@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
(cherry picked from commit 06b8aafd68)
This commit is contained in:
committed by
Simon Glass
parent
58bb626f09
commit
8bc8a47f18
@@ -230,7 +230,8 @@ static void __maybe_unused getvar_partition_type(char *part_name, char *response
|
||||
if (r >= 0) {
|
||||
r = fs_set_blk_dev_with_part(dev_desc, r);
|
||||
if (r < 0)
|
||||
fastboot_fail("failed to set partition", response);
|
||||
/* If we don't know then just default to raw */
|
||||
fastboot_okay("raw", response);
|
||||
else
|
||||
fastboot_okay(fs_get_type_name(), response);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user