]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_sata.c
TX6 Release 2013-04-22
[karo-tx-uboot.git] / common / cmd_sata.c
index 7b1703fe4133df3866f023cdd45d7219026be791..69f3139ee3507cc3fa833dd011c58cab896f2678 100644 (file)
@@ -1,4 +1,7 @@
 /*
+ * (C) Copyright 2008-2010 Freescale Semiconductor, Inc.
+ * Terry Lv <r65388@freescale.com>
+ *
  * Copyright (C) 2000-2005, DENX Software Engineering
  *             Wolfgang Denk <wd@denx.de>
  * Copyright (C) Procsys. All rights reserved.
@@ -28,7 +31,7 @@
 #include <part.h>
 #include <sata.h>
 
-int sata_curr_device = -1;
+static int sata_curr_device = -1;
 block_dev_desc_t sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE];
 
 int __sata_initialize(void)
@@ -48,9 +51,12 @@ int __sata_initialize(void)
                sata_dev_desc[i].block_write = sata_write;
 
                rc = init_sata(i);
-               rc = scan_sata(i);
-               if ((sata_dev_desc[i].lba > 0) && (sata_dev_desc[i].blksz > 0))
-                       init_part(&sata_dev_desc[i]);
+               if (!rc) {
+                       rc = scan_sata(i);
+                       if (!rc && (sata_dev_desc[i].lba > 0) &&
+                               (sata_dev_desc[i].blksz > 0))
+                               init_part(&sata_dev_desc[i]);
+               }
        }
        sata_curr_device = 0;
        return rc;
@@ -64,7 +70,7 @@ block_dev_desc_t *sata_get_dev(int dev)
 }
 #endif
 
-int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        int rc = 0;