If the command 'usb start' is successfully executed but
U-Boot don't found a storage device (usb_stor_curr_dev stay to -1)
the next command 'usb dev' without parameter
leads to data abort after the message "USB device -1"

The added check on usb_stor_curr_dev avoid the issue.

Signed-off-by: Patrick Delaunay <[email protected]>
---

Changes in v2:
- Updated the commit message
- use command_ret_t for result

 cmd/usb.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/cmd/usb.c b/cmd/usb.c
index 992d414..53305bb 100644
--- a/cmd/usb.c
+++ b/cmd/usb.c
@@ -806,6 +806,10 @@ static int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
                        printf("... is now current device\n");
                        return 0;
                } else {
+                       if (usb_stor_curr_dev < 0) {
+                               printf("no current device selected\n");
+                               return CMD_RET_FAILURE;
+                       }
                        printf("\nUSB device %d: ", usb_stor_curr_dev);
                        stor_dev = blk_get_devnum_by_type(IF_TYPE_USB,
                                                          usb_stor_curr_dev);
-- 
2.7.4

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to