diff options
Diffstat (limited to 'cxmanage/target.py')
-rw-r--r-- | cxmanage/target.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cxmanage/target.py b/cxmanage/target.py index 2cced8b..2b49b8d 100644 --- a/cxmanage/target.py +++ b/cxmanage/target.py @@ -493,6 +493,7 @@ class Target: def _wait_for_transfer(self, handle): """ Wait for a firmware transfer to finish""" + counter = 0 while True: time.sleep(1) @@ -501,6 +502,12 @@ class Target: raise CxmanageError("Unable to retrieve transfer info") if result.status != "In progress": break + + # Time out after 5 minutes + counter += 1 + if counter >= 300: + raise CxmanageError("Transfer timed out after 5 minutes") + if result.status != "Complete": raise CxmanageError("Node reported transfer failure") |