From patchwork Mon Apr 28 16:57:29 2014
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Przemyslaw Marczak
X-Patchwork-Id: 343501
X-Patchwork-Delegate: marek.vasut@gmail.com
Return-Path:
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
Received: from theia.denx.de (theia.denx.de [85.214.87.163])
by ozlabs.org (Postfix) with ESMTP id 874801400BE
for ;
Tue, 29 Apr 2014 02:58:34 +1000 (EST)
Received: from localhost (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id E0E274B9DE;
Mon, 28 Apr 2014 18:58:27 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at theia.denx.de
Received: from theia.denx.de ([127.0.0.1])
by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 65ccNBoQrxwC; Mon, 28 Apr 2014 18:58:27 +0200 (CEST)
Received: from theia.denx.de (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id 7A97C4B9BC;
Mon, 28 Apr 2014 18:58:22 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id 6B44B4B986
for ; Mon, 28 Apr 2014 18:58:15 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at theia.denx.de
Received: from theia.denx.de ([127.0.0.1])
by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id lEq-pfmQFGnl for ;
Mon, 28 Apr 2014 18:58:12 +0200 (CEST)
X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5
NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested)
Received: from mailout3.w1.samsung.com (mailout3.w1.samsung.com
[210.118.77.13]) by theia.denx.de (Postfix) with ESMTPS id 091314B8D0
for ; Mon, 28 Apr 2014 18:58:08 +0200 (CEST)
Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245])
by mailout3.w1.samsung.com
(Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit
(built Nov
17 2011)) with ESMTP id <0N4R00EDB34U8370@mailout3.w1.samsung.com>
for u-boot@lists.denx.de; Mon, 28 Apr 2014 17:58:06 +0100 (BST)
X-AuditID: cbfec7f5-b7fae6d000004d6d-dd-535e889df51e
Received: from eusync1.samsung.com ( [203.254.199.211])
by eucpsbgm2.samsung.com (EUCPMTA) with SMTP id 07.23.19821.D988E535;
Mon, 28 Apr 2014 17:58:05 +0100 (BST)
Received: from AMDC1186.digital.local ([106.116.147.185])
by eusync1.samsung.com
(Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit
(built Aug
10 2011)) with ESMTPA id <0N4R000TC34GIX20@eusync1.samsung.com>; Mon,
28 Apr 2014 17:58:05 +0100 (BST)
From: Przemyslaw Marczak
To: u-boot@lists.denx.de
Date: Mon, 28 Apr 2014 18:57:29 +0200
Message-id: <1398704249-23533-3-git-send-email-p.marczak@samsung.com>
X-Mailer: git-send-email 1.9.1
In-reply-to: <1398704249-23533-1-git-send-email-p.marczak@samsung.com>
References: <1398246231-22214-1-git-send-email-p.marczak@samsung.com>
<1398704249-23533-1-git-send-email-p.marczak@samsung.com>
X-Brightmail-Tracker:
H4sIAAAAAAAAA+NgFjrPJMWRmVeSWpSXmKPExsVy+t/xy7pzO+KCDVYcMLbYcfkGi8XbvZ3s
DkweZ+/sYPTo27KKMYApissmJTUnsyy1SN8ugStj9YqnrAWP2Ssev+5nbGCczdbFyMkhIWAi
sXLPBCYIW0ziwr31QHEuDiGBpYwSk46vZ4Vw+pgkFr+YD9bBJmAgsefSGWYQW0RAQuJX/1VG
EJtZQE/ixOdOVhBbWCBAon35dLAaFgFViZ7V3UBxDg5eAVeJl8/EIJbJSZw8NhmsnFPATeLS
1cNQixsZJV7OP8Y2gZF3ASPDKkbR1NLkguKk9FwjveLE3OLSvHS95PzcTYyQQPi6g3HpMatD
jAIcjEo8vIKGMcFCrIllxZW5hxglOJiVRHhtW+OChXhTEiurUovy44tKc1KLDzEycXBKNTDa
S6VNOtay6EXfyrdvOKo15s29OtVcYfm1OaVMcybkMyZvS+OZ8U+55F/ZdpneJonnv0XPuRVJ
KBw93Xbb3TZUVM/4zho3hl8xMh8lVqWL39b4LP4z4M4k84vm+vuuTToWyqS3QCAheqX+ve/3
xecH/Tf/uu/FDJV/aXsUvb2+Fjdr8qhaW/crsRRnJBpqMRcVJwIAEaZa++IBAAA=
Cc: Przemyslaw Marczak
Subject: [U-Boot] [PATCH v4 3/3] drivers:dfu: dfu_flush(): add raw data
flush to complete
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: U-Boot discussion
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
MIME-Version: 1.0
Sender: u-boot-bounces@lists.denx.de
Errors-To: u-boot-bounces@lists.denx.de
Before dfu write and flush operations separation,
dfu write data was flushed by host download request
with len of zero size.
Since above change manually calling dfu write with zero
size has non sense (e.g. in THOR). This should be done by
flush operation.
So now dfu_write_buffer_drain() is called in dfu_flush().
If there is any raw data to flush (like it can be in thor)
then it will be physically written to medium.
Signed-off-by: Przemyslaw Marczak
---
Changes v4:
- new commit
---
drivers/dfu/dfu.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
index 8a09aaf..94e9116 100644
--- a/drivers/dfu/dfu.c
+++ b/drivers/dfu/dfu.c
@@ -131,6 +131,10 @@ int dfu_flush(struct dfu_entity *dfu, void *buf, int size, int blk_seq_num)
{
int ret = 0;
+ ret = dfu_write_buffer_drain(dfu);
+ if (ret)
+ return ret;
+
if (dfu->flush_medium)
ret = dfu->flush_medium(dfu);