diff --git a/arduino/serialutils/serialutils.go b/arduino/serialutils/serialutils.go index dab4523a09d..dfb5bfe112d 100644 --- a/arduino/serialutils/serialutils.go +++ b/arduino/serialutils/serialutils.go @@ -131,8 +131,8 @@ func Reset(portToTouch string, wait bool, cb *ResetProgressCallbacks, dryRun boo if dryRun { // do nothing! } else { - if err := TouchSerialPortAt1200bps(portToTouch); err != nil { - fmt.Println(tr("TOUCH: error during reset: %s", err)) + if err := TouchSerialPortAt1200bps(portToTouch); err != nil && !wait { + return "", errors.Errorf(tr("TOUCH: error during reset: %s", err)) } } } diff --git a/commands/upload/upload.go b/commands/upload/upload.go index a390e450887..e99a3a1514d 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -430,7 +430,7 @@ func runProgramAction(pme *packagemanager.Explorer, } if newPortAddress, err := serialutils.Reset(portToTouch, wait, cb, dryRun); err != nil { - outStream.Write([]byte(fmt.Sprintln(tr("Cannot perform port reset: %s", err)))) + errStream.Write([]byte(fmt.Sprintln(tr("Cannot perform port reset: %s", err)))) } else { if newPortAddress != "" { actualPort.Address = newPortAddress