public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: star.zeng@intel.com, eric.dong@intel.com, pankaj.bansal@nxp.com,
	lersek@redhat.com, leif.lindholm@linaro.org
Cc: edk2-devel@lists.01.org, Julien Grall <julien.grall@linaro.org>
Subject: [PATCH v2 3/3] MdeModulePkg/SerialDxe: Do not fail reset when SetAttributes is not supported
Date: Fri, 24 Nov 2017 16:20:30 +0000	[thread overview]
Message-ID: <20171124162030.31156-4-julien.grall@linaro.org> (raw)
In-Reply-To: <20171124162030.31156-1-julien.grall@linaro.org>

After commit 91cc526b15 "MdeModulePkg/SerialDxe: Fix not able to change
serial attributes", serial is initialized using the reset method that
will call SetAttributes.

However, SetAttributes may return EFI_INVALID_PARAMETER when a driver
does not support some parameters. This will be propated by the reset
function and lead to UEFI failing to get the console setup.

For instance, this is the case when using the Xen console driver.

Fix it by instropecting the result and return EFI_SUCCESS when the
SetAttributes report an invalid parameter (i.e EFI_INVALID_PARAMETER).

Contributed-under: Tianocore Contribution Agreement 1.1
Signed-off-by: Julien Grall <julien.grall@linaro.org>
---
 MdeModulePkg/Universal/SerialDxe/SerialIo.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/MdeModulePkg/Universal/SerialDxe/SerialIo.c b/MdeModulePkg/Universal/SerialDxe/SerialIo.c
index 08b95a4a33..53d2785fed 100644
--- a/MdeModulePkg/Universal/SerialDxe/SerialIo.c
+++ b/MdeModulePkg/Universal/SerialDxe/SerialIo.c
@@ -239,6 +239,15 @@ SerialReset (
                    (EFI_STOP_BITS_TYPE) This->Mode->StopBits
                    );
 
+  //
+  // The serial device may not support some of the attributes. To prevent
+  // later failure, always return EFI_SUCCESS when SetAttributes is returning
+  // EFI_INVALID_PARAMETER.
+  //
+  if (Status == EFI_INVALID_PARAMETER) {
+    return EFI_SUCCESS;
+  }
+
   return Status;
 }
 
-- 
2.11.0



  parent reply	other threads:[~2017-11-24 16:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-24 16:20 [PATCH v2 0/3] MdeModulePkg/SerialDxe: Do not fail reset when SetAttributes is not supported Julien Grall
2017-11-24 16:20 ` [PATCH v2 1/3] MdeModulePkg/SerialDxe: Describe correctly EFI_DEVICE_ERROR for SetAttributes Julien Grall
2017-11-27  1:49   ` Zeng, Star
2017-11-24 16:20 ` [PATCH v2 2/3] MdeModulePkg/SerialDxe: Fix return valued in SerialSetAttributes Julien Grall
2017-11-27  1:50   ` Zeng, Star
2017-11-24 16:20 ` Julien Grall [this message]
2017-11-27  1:53   ` [PATCH v2 3/3] MdeModulePkg/SerialDxe: Do not fail reset when SetAttributes is not supported Zeng, Star
2017-11-27  1:46 ` [PATCH v2 0/3] " Zeng, Star
2017-11-27 10:39   ` Julien Grall
2017-11-27 10:47     ` Zeng, Star
2017-11-27 10:51       ` Zeng, Star

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171124162030.31156-4-julien.grall@linaro.org \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox