* Correct header printing for multi-image files in do_bootm()

* Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED
diff --git a/CHANGELOG b/CHANGELOG
index abd42a0..0bb085b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
 Changes for U-Boot 1.0.0:
 ======================================================================
 
+* Correct header printing for multi-image files in do_bootm()
+
+* Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED
+
 * Fix PCI problems on PPChameleon board
 
 * Patch by Steven Scholz, 18 Oct 2003:
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index abdac23..07cda56 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -205,7 +205,7 @@
 	SHOW_BOOT_PROGRESS (3);
 
 	/* for multi-file images we need the data part, too */
-	print_image_hdr (hdr);
+	print_image_hdr (addr);
 
 	data = addr + sizeof(image_header_t);
 	len  = ntohl(hdr->ih_size);
diff --git a/common/main.c b/common/main.c
index 73f8ff9..a0c9fe8 100644
--- a/common/main.c
+++ b/common/main.c
@@ -102,6 +102,18 @@
 	u_int presskey_max = 0;
 	u_int i;
 
+#ifdef CONFIG_SILENT_CONSOLE
+	{
+		DECLARE_GLOBAL_DATA_PTR;
+
+		if (gd->flags & GD_FLG_SILENT) {
+			/* Restore serial console */
+			console_assign (stdout, "serial");
+			console_assign (stderr, "serial");
+		}
+	}
+#endif
+
 #  ifdef CONFIG_AUTOBOOT_PROMPT
 	printf (CONFIG_AUTOBOOT_PROMPT, bootdelay);
 #  endif
@@ -180,6 +192,21 @@
 		printf("key timeout\n");
 #  endif
 
+#ifdef CONFIG_SILENT_CONSOLE
+	{
+		DECLARE_GLOBAL_DATA_PTR;
+
+		if (abort) {
+			/* permanently enable normal console output */
+			gd->flags &= ~(GD_FLG_SILENT);
+		} else if (gd->flags & GD_FLG_SILENT) {
+			/* Restore silent console */
+			console_assign (stdout, "nulldev");
+			console_assign (stderr, "nulldev");
+		}
+	}
+#endif
+
 	return abort;
 }