diff --git a/common/cmd_fpga.c b/common/cmd_fpga.c
index 8e180da..41ed459 100644
--- a/common/cmd_fpga.c
+++ b/common/cmd_fpga.c
@@ -70,6 +70,7 @@
     void *fpga_data = NULL;
     char *devstr = getenv("fpga");
     char *datastr = getenv("fpgadata");
+    int rc = FPGA_FAIL;
 
 	if ( devstr ) dev = (int)simple_strtoul( devstr, NULL, 16 );
 	if ( datastr ) fpga_data = (void *)simple_strtoul( datastr, NULL, 16 );
@@ -106,15 +107,15 @@
 		    break;
 
 	    case FPGA_INFO:
-		    fpga_info( dev );
+		    rc = fpga_info( dev );
 		    break;
 
 	    case FPGA_LOAD:
-			fpga_load( dev, fpga_data, data_size );
+                    rc = fpga_load( dev, fpga_data, data_size );
 		    break;
 
 	    case FPGA_DUMP:
-			fpga_dump( dev, fpga_data, data_size );
+                    rc = fpga_dump( dev, fpga_data, data_size );
 		    break;
 
 	    default:
@@ -122,7 +123,7 @@
 		    fpga_usage( cmdtp );
 		    break;
     }
-    return 0;
+    return (rc);
 }
 
 static void fpga_usage ( cmd_tbl_t *cmdtp )
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index 45f6368..3f18b00 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -486,6 +486,19 @@
 	unsigned int ata_reset_time;
 	char *s;
 #endif
+#ifdef CONFIG_IDE_8xx_PCCARD
+	extern int pcmcia_on (void);
+	extern int ide_devices_found; /* Initialized in check_ide_device() */
+#endif	/* CONFIG_IDE_8xx_PCCARD */
+
+#ifdef CONFIG_IDE_PREINIT
+	WATCHDOG_RESET();
+
+	if (ide_preinit ()) {
+		puts ("ide_preinit failed\n");
+		return;
+	}
+#endif	/* CONFIG_IDE_PREINIT */
 
 #ifdef CONFIG_IDE_8xx_PCCARD
 	extern int pcmcia_on (void);
@@ -756,12 +769,12 @@
 static void __inline__
 ide_outb(int dev, int port, unsigned char val)
 {
+	PRINTF ("ide_outb (dev= %d, port= %d, val= 0x%02x) : @ 0x%08lx\n",
+		dev, port, val, (ATA_CURR_BASE(dev)+port));
+    
 	/* Ensure I/O operations complete */
 	__asm__ volatile("eieio");
 	*((uchar *)(ATA_CURR_BASE(dev)+port)) = val;
-#if 0
-	printf ("ide_outb: 0x%08lx <== 0x%02x\n", ATA_CURR_BASE(dev)+port, val);
-#endif
 }
 #else	/* ! __PPC__ */
 static void __inline__
@@ -780,9 +793,8 @@
 	/* Ensure I/O operations complete */
 	__asm__ volatile("eieio");
 	val = *((uchar *)(ATA_CURR_BASE(dev)+port));
-#if 0
-	printf ("ide_inb: 0x%08lx ==> 0x%02x\n", ATA_CURR_BASE(dev)+port, val);
-#endif
+	PRINTF ("ide_inb (dev= %d, port= %d) : @ 0x%08lx -> 0x%02x\n",
+		dev, port, (ATA_CURR_BASE(dev)+port), val);
 	return (val);
 }
 #else	/* ! __PPC__ */
