Hello Sascha, Am 26.05.20 um 08:02 schrieb Sascha Hauer: > On Mon, May 25, 2020 at 09:45:49PM +0200, Daniel Glöckner wrote: >> I know that Barebox will get stuck when the host stops talking to us >> before we had the opportunity to send the final OKAY, but that is not >> what you describe. If you use a sleep 100, the host will time out >> before the sleep is done. After the sleep the command is still in >> fbn->command, so it will be acked and executed. Since the host no >> longer talks to us, it will not send us an empty packet with the next >> sequence number, so the loop in fastboot_write_net will never terminate. >> >> The only way to get out of this situation with the current code >> (omitting patch 20) is to start a new fastboot session. The INIT packet >> of the new session will set reinit to true, which discards all messages >> the old session wants to send. If this is not acceptable, I suggest >> adding a timeout >= 60 seconds to that loop in fastboot_write_net and >> setting reinit when it expires. We can make the timeout a kconfig option >> which defaults to 60 if you prefer. > > Yes, we should add a timeout to this loop. Being stuck in an endless > loop never is a good user experience. How about this? In this special case setting reinit might have been enough (because active_download must be false when we want to send a message while may_send == MAY_NOT_SEND, fastboot.active doesn't really matter, and command[0] will be cleared once we exit from fastboot_exec_cmd), but there were other situations that didn't correctly handle connection timeout/abort. That's why I reworked and unified these parts. I liked your idea of printing a message every 5 seconds and integrated it almost unchanged. Patch series follows in a moment. Best regards, Daniel -- Dipl.-Math. Daniel Glöckner, emlix GmbH, http://www.emlix.com Fon +49 551 30664-0, Fax +49 551 30664-11, Gothaer Platz 3, 37083 Göttingen, Germany Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160 Geschäftsführung: Heike Jordan, Dr. Uwe Kracke Ust-IdNr.: DE 205 198 055 emlix - your embedded linux partner _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox