* Patch by Pantelis Antoniou, 14 Sep 2004:
  Fix early serial hang when CONFIG_SERIAL_MULTI is defined.

* Patch by Pantelis Antoniou, 14 Sep 2004:
  Kick watchdog when bz-decompressing
diff --git a/lib_generic/bzlib_decompress.c b/lib_generic/bzlib_decompress.c
index a4a1687..a575052 100644
--- a/lib_generic/bzlib_decompress.c
+++ b/lib_generic/bzlib_decompress.c
@@ -1,4 +1,6 @@
 #include <config.h>
+#include <common.h>
+#include <watchdog.h>
 #ifdef CONFIG_BZIP2
 
 /*-------------------------------------------------------------*/
@@ -416,6 +418,9 @@
 
       while (True) {
 
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+	WATCHDOG_RESET();
+#endif
 	 if (nextSym == EOB) break;
 
 	 if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
@@ -498,6 +503,9 @@
 		  if (s->mtfbase[0] == 0) {
 		     kk = MTFA_SIZE-1;
 		     for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+			WATCHDOG_RESET();
+#endif
 			for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
 			   s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
 			   kk--;
@@ -560,6 +568,9 @@
 	 }
 	    while (i != s->origPtr);
 
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+	WATCHDOG_RESET();
+#endif
 	 s->tPos = s->origPtr;
 	 s->nblock_used = 0;
 	 if (s->blockRandomised) {
@@ -572,6 +583,9 @@
 
       } else {
 
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+	WATCHDOG_RESET();
+#endif
 	 /*-- compute the T^(-1) vector --*/
 	 for (i = 0; i < nblock; i++) {
 	    uc = (UChar)(s->tt[i] & 0xff);