From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10D31C433F5 for ; Wed, 27 Oct 2021 18:57:30 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6337E600EF for ; Wed, 27 Oct 2021 18:57:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 6337E600EF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CDD7183499; Wed, 27 Oct 2021 20:57:24 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="D2JyXbvS"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 30FE983542; Wed, 27 Oct 2021 20:57:16 +0200 (CEST) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9C60D83325 for ; Wed, 27 Oct 2021 20:57:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=kabel@kernel.org Received: by mail.kernel.org (Postfix) with ESMTPSA id 801DB600EF; Wed, 27 Oct 2021 18:57:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1635361027; bh=95SeH8i3lcEENdNKVtZlXoTrQeXbXTnatbXC1dtpl5c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=D2JyXbvSZzrXxfNI9MhLmLrRJKgPgLfxAgFMmkLoOOPRvRkgJtIhMZiOWx7F+qiVS rMAwjKbAc5475jdtbbNWbcM1rezVFwUZ8sa2zv9pK0mesz8fFSCjp/w1+8r1cehxc9 jtI+RihQGbGOWZ26Q5lsWPdwD5nB1FjyKijWbJqsCAaib0MFUlxe0zDaVpjhL0xtWd XB0FdN48B217U7/tybAQg7vN3G7bLN7QbLq1f3E2EHnKXJEjjRS40f1Wfjj+1+1ASq BKtF+bLgHN4j7Qj9IGJ8x4vyqMuRSECGvhFacgHlQZN9OxbKiLND6a/xNH1y+opRJQ 37T5gm70aUPpg== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: Stefan Roese Cc: u-boot@lists.denx.de, =?UTF-8?q?Pali=20Roh=C3=A1r?= , =?UTF-8?q?Marek=20Beh=C3=BAn?= Subject: [PATCH u-boot-marvell 1/5] tools: kwboot: Fix sending retry of last header packet Date: Wed, 27 Oct 2021 20:56:58 +0200 Message-Id: <20211027185702.8186-2-kabel@kernel.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211027185702.8186-1-kabel@kernel.org> References: <20211027185702.8186-1-kabel@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean From: Pali Rohár After the trasfer of last header packet, it is possible that baudrate change pattern is received, and also that NAK byte is received so that the packet should be sent again. Thus we should not clear the baudrate change state when sending retry of that packet. Move code for initializing state variables from kwboot_xm_recv_reply() to kwboot_xm_sendblock(). Signed-off-by: Pali Rohár Reviewed-by: Marek Behún --- tools/kwboot.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tools/kwboot.c b/tools/kwboot.c index bb7cae9f05..b2c48812c3 100644 --- a/tools/kwboot.c +++ b/tools/kwboot.c @@ -859,11 +859,6 @@ kwboot_xm_recv_reply(int fd, char *c, int nak_on_non_xm, uint64_t recv_until = _now() + timeout; int rc; - if (non_xm_print) - *non_xm_print = 0; - if (baud_changed) - *baud_changed = 0; - while (1) { rc = kwboot_tty_recv(fd, c, 1, timeout); if (rc) { @@ -929,6 +924,8 @@ kwboot_xm_sendblock(int fd, struct kwboot_block *block, int allow_non_xm, char c; *done_print = 0; + non_xm_print = 0; + baud_changed = 0; retries = 0; do { -- 2.32.0