diff --git a/common/cmd_pci.c b/common/cmd_pci.c index 2eafd5cc98..f3148a3da0 100644 --- a/common/cmd_pci.c +++ b/common/cmd_pci.c @@ -410,6 +410,7 @@ static int do_pci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) ulong addr = 0, value = 0, size = 0; pci_dev_t bdf = 0; char cmd = 's'; + int ret = 0; if (argc > 1) cmd = argv[1][0]; @@ -453,7 +454,7 @@ static int do_pci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) switch (argv[1][0]) { case 'h': /* header */ pci_header_show(bdf); - return 0; + break; case 'd': /* display */ return pci_cfg_display(bdf, addr, size, value); #ifdef CONFIG_CMD_PCI_ENUM @@ -463,23 +464,29 @@ static int do_pci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) # else pci_init(); # endif - return 0; + break; #endif case 'n': /* next */ if (argc < 4) goto usage; - return pci_cfg_modify(bdf, addr, size, value, 0); + ret = pci_cfg_modify(bdf, addr, size, value, 0); + break; case 'm': /* modify */ if (argc < 4) goto usage; - return pci_cfg_modify(bdf, addr, size, value, 1); + ret = pci_cfg_modify(bdf, addr, size, value, 1); + break; case 'w': /* write */ if (argc < 5) goto usage; - return pci_cfg_write(bdf, addr, size, value); + ret = pci_cfg_write(bdf, addr, size, value); + break; + default: + ret = CMD_RET_USAGE; + break; } - return 1; + return ret; usage: return CMD_RET_USAGE; }