api_storage: Fix non-first storage device enumeration
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 <afaerber@suse.de>
This commit is contained in:
		
							parent
							
								
									86dc8b14f9
								
							
						
					
					
						commit
						ce2a07b77c
					
				| 
						 | 
					@ -112,6 +112,11 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di)
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			found = 1;
 | 
								found = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/* provide hint if there are more devices in
 | 
				
			||||||
 | 
							 * this group to enumerate */
 | 
				
			||||||
 | 
							if (1 < specs[type].max_dev)
 | 
				
			||||||
 | 
								*more = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		for (i = 0; i < specs[type].max_dev; i++)
 | 
							for (i = 0; i < specs[type].max_dev; i++)
 | 
				
			||||||
			if (di->cookie == (void *)get_dev(specs[type].name, i)) {
 | 
								if (di->cookie == (void *)get_dev(specs[type].name, i)) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue