From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 14 Sep 2015 12:21:34 +0200 Subject: [U-Boot] [PATCH] api_storage: Fix non-first storage device enumeration Message-ID: <1442226095-12652-1-git-send-email-afaerber@suse.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de When enabling CONFIG_API and chain-loading GRUB2 on jetson-tk1, only the eMMC would show up as (hd0), but not the SD card, leading to GRUB not finding its configuration and modules, falling back to a rescue shell. This is because enum_ended would get set for !more after returning a cookie for the first MMC device in group 3. Fix this by properly setting the "more" argument also in the case of the first storage device of a group. Signed-off-by: Andreas F?rber --- api/api_storage.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api/api_storage.c b/api/api_storage.c index b76b07d..ec92ae4 100644 --- a/api/api_storage.c +++ b/api/api_storage.c @@ -112,6 +112,11 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di) else found = 1; + /* provide hint if there are more devices in + * this group to enumerate */ + if (1 < specs[type].max_dev) + *more = 1; + } else { for (i = 0; i < specs[type].max_dev; i++) if (di->cookie == (void *)get_dev(specs[type].name, i)) { -- 2.1.4