Re: [PATCH 20/20] fastboot net: remove may_send

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux