From bcbb5a8b00770ac0d2794e59876d8187ccfea6af Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Mon, 7 Mar 2022 11:36:00 +0000 Subject: multiboot: Allow searching in volume 0 for redirect file Searching in volume 0 is necessary for multiboot targets with only one drive, like the M3K/Q1/ErosQ. Without this the search code will never look at the redirect file on these targets. The search bound is configured with a setting MULTIBOOT_MIN_VOLUME, which defaults to 0, but is defined to 1 for Sansa players so they keep their old behavior. Change-Id: I6dc5cf98db4258731de2c68c3ab1182b4a4a655b --- firmware/common/rb-loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'firmware/common/rb-loader.c') diff --git a/firmware/common/rb-loader.c b/firmware/common/rb-loader.c index e3fc90342c..430ed6ec7b 100644 --- a/firmware/common/rb-loader.c +++ b/firmware/common/rb-loader.c @@ -106,7 +106,7 @@ int load_firmware(unsigned char* buf, const char* firmware, int buffer_size) * 0 is the default boot volume, it is not checked here * if found /rockbox_main. and firmware * has a bootdata region this firmware will be loaded */ - for (unsigned int i = NUM_VOLUMES - 1; i > 0 && ret < 0; i--) + for (int i = NUM_VOLUMES - 1; i >= MULTIBOOT_MIN_VOLUME && ret < 0; i--) { if (get_redirect_dir(filename, sizeof(filename), i, BOOTDIR, firmware) > 0) -- cgit v1.2.3