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);