From nobody Thu Sep 19 00:53:00 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1528802622763734.5233870373717; Tue, 12 Jun 2018 04:23:42 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 4104D2121797B; Tue, 12 Jun 2018 04:23:40 -0700 (PDT) Received: from mail-wm0-x22f.google.com (mail-wm0-x22f.google.com [IPv6:2a00:1450:400c:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 24BFB21217973 for ; Tue, 12 Jun 2018 04:23:38 -0700 (PDT) Received: by mail-wm0-x22f.google.com with SMTP id e16-v6so19894893wmd.0 for ; Tue, 12 Jun 2018 04:23:37 -0700 (PDT) Received: from dogfood.home ([2a01:cb1d:112:6f00:3c84:18ae:27f2:d03]) by smtp.gmail.com with ESMTPSA id o16-v6sm1177202wrp.8.2018.06.12.04.23.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Jun 2018 04:23:35 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:400c:c09::22f; helo=mail-wm0-x22f.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Stm2acX9qh4MQfaImdjYghbtDsBG3KO7q9Fu4ANawX0=; b=Aq7aEvsPpVR9+6UAuMCP1QDR+saBw51Ciz7Ow97bVlBjcJywcfDNGMYUjF8cYZ+Mrd Uw5hxQPSAKGu84Hj08yMXa+OTew9T8H2sK6pIJ96rrHLUYrlfxdPqBAsSzwKNniYFdi8 Ui0xFFXr0huDGaXBGqnxJGwAbReNJEFIEh8qA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Stm2acX9qh4MQfaImdjYghbtDsBG3KO7q9Fu4ANawX0=; b=NhTdNsoBayIvuTFHLfJadeYvKR/shgJWcRVfLq76Va0z11SdFsXW8iGZ4Ulwg5Faob v9KUBi93u51chI1xjyrOnRy4JV6tMbj+HYoJYpBi7nuy16h8ZQy9mKDhC15Ok3jXRuIw /NaffJV0G3TzLhZFcojBsHLMWB84Hfi+k3G/wlGsruHlUkt9xaM7esukMGpClF3nCujE zDLiRyVqASGHwnuVikBZQG3STTxtWbUVWsJ2KTSYilHMahxqOE2uXf2OBotIEhpDXqy+ VQL/KIjCFD9KkG8GApabW9op/J/nbccmoSaQmA8Uu3eD1iGfUBGWl3avoI/JVnBbJHoR KwNg== X-Gm-Message-State: APt69E2ZolCz2GIrMGl61T2rjRslmB1Cq3jMLbfk3aWxoCOZikEQdcl7 N8hAvirafGhg7mJfUn/AJQqj3Fqw3SI= X-Google-Smtp-Source: ADUXVKJ0tD7yfY1m9iYXjQPCG1DeLKDTon5/77Zc+ulPDfmAJpkhpgPLF5yvk6m0I++0sT9baR04oA== X-Received: by 2002:a1c:7153:: with SMTP id m80-v6mr1759509wmc.7.1528802616372; Tue, 12 Jun 2018 04:23:36 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org Date: Tue, 12 Jun 2018 13:23:27 +0200 Message-Id: <20180612112329.664-3-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180612112329.664-1-ard.biesheuvel@linaro.org> References: <20180612112329.664-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v3 2/4] MdeModulePkg/DxeCapsuleLibFmp: pass progress callback only if it works X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: michael.d.kinney@intel.com, jiewen.yao@intel.com, star.zeng@intel.com, leif.lindholm@linaro.org, Ard Biesheuvel MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" If the first call to UpdateImageProgress() fails, there is no point in passing a pointer to it to Fmp->SetImage(), since it is highly unlikely to succeed on any subsequent calls. This permits the FMP implementation to fall back to an alternate means of providing feedback to the user, e.g., via the console. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel --- MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c b/MdeMod= ulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c index f0226eafa576..ab41df0eb0a4 100644 --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c @@ -841,6 +841,7 @@ SetFmpImageData ( UINT8 *Image; VOID *VendorCode; CHAR16 *AbortReason; + EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS ProgressCallback; =20 Status =3D gBS->HandleProtocol( Handle, @@ -892,7 +893,11 @@ SetFmpImageData ( // // Before calling SetImage(), reset the progress bar to 0% // - UpdateImageProgress (0); + ProgressCallback =3D UpdateImageProgress; + Status =3D UpdateImageProgress (0); + if (EFI_ERROR (Status)) { + ProgressCallback =3D NULL; + } =20 Status =3D Fmp->SetImage( Fmp, @@ -900,13 +905,15 @@ SetFmpImageData ( Image, // Image ImageHeader->UpdateImageSize, // ImageSize VendorCode, // VendorCode - UpdateImageProgress, // Progress + ProgressCallback, // Progress &AbortReason // AbortReason ); // // Set the progress bar to 100% after returning from SetImage() // - UpdateImageProgress (100); + if (ProgressCallback !=3D NULL) { + UpdateImageProgress (100); + } =20 DEBUG((DEBUG_INFO, "Fmp->SetImage - %r\n", Status)); if (AbortReason !=3D NULL) { --=20 2.17.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel