From patchwork Fri Nov 24 16:20:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 119599 Delivered-To: patch@linaro.org Received: by 10.140.22.164 with SMTP id 33csp2436628qgn; Fri, 24 Nov 2017 08:20:46 -0800 (PST) X-Google-Smtp-Source: AGs4zMbt6VcDc5GhX6v9VB0uul/6Zcc3lzhtFZ8QI6KvPdYaU/S88dJ9AeY7qDQ39R+qQC/lROyp X-Received: by 10.101.99.130 with SMTP id h2mr10698577pgv.361.1511540446007; Fri, 24 Nov 2017 08:20:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511540445; cv=none; d=google.com; s=arc-20160816; b=MWSGHMDw/R7mPnpHw9U+jhOrGrL8ktZP2vsf8EEikqWn7HG8w9+VufrTzESQ98vQdz VXcucrNmqoylk70+q3KHGNen4vZ9ibuPUp3wN9YYtfpk6kCbp59cLJ2tLKn895kXEI6A zLafmhGmI3ySFA71aWN5m5dhDasgYXfhTetBZzbTaVsn6Hf77IrXaMRh1Fgc7pnrAtzl 7jcsm8JXwzPhv7ktm3PaXDVjIUggW4JX5h6FLr0tI0J+HKa4UI+517uT/Z5mdIPSCXxs ndPFkXnyQMbTnelvmlQbJUxPUjEQ6KUZVDfwkObnCkwzqZr8OfmNkg7JQqTQClpawXZu KXkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=nrn0mq9DDM08S5uqK8o4B5P0JfTF+eOnGOpXTb3/Fuc=; b=rduMyNQWh4pYQ106zY94Wg7+4sF7eMsGyV4HaLUmXq8TMmiwsCsi8fmAF3iaaXsqGh fhZ0tQkDejmSYQgtxq1F29SZNyNLSAqmwnLavAOXeYu2Q38uk88y49v+OfzBupsEsl2H s5dpA8fS9HYmIZf9+eR6DW4IJmFe8QzYPpSA8blxSRz2P8EDQ3fuGYanbNwxDe30f6Kw isQT2NBAWnfyuJpPviQKmRGQ60ak2dcqJTpyo4zEYxqr2goSPnpB8BjmC54rOGIUFihA yC6GEFQ/v5Zk6OEVaquzN6g853vMmNjKleEblgwUoyD74DXN11bx7ZLKbM1dsxOkABLN WZGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=LhKn8unM; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id l8si18620723pga.538.2017.11.24.08.20.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Nov 2017 08:20:45 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=LhKn8unM; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id B73E1220F3C4D; Fri, 24 Nov 2017 08:16:21 -0800 (PST) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:400c:c0c::242; helo=mail-wr0-x242.google.com; envelope-from=julien.grall@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wr0-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) (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 6D693220F3C43 for ; Fri, 24 Nov 2017 08:16:20 -0800 (PST) Received: by mail-wr0-x242.google.com with SMTP id s41so15381438wrc.7 for ; Fri, 24 Nov 2017 08:20:39 -0800 (PST) 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=12vqC89W4GPyhGrp1c7xCGSKpv+UI711veQLbgWGXgg=; b=LhKn8unMDt/PnPmi/1vl1trbtpijS+gMpAHPiWTHmEuOB7sXHpr8OYT9asnlpvayoR IFsNTaEIggNx3rYfVQwYXj7qCLuFLer1Owb/001+qBEqB0eQR9jxBB3X050dVlCQ75Oi +R2L1B7WbVvcPXNslqb/Ln+ybeGMYFwxrHh24= 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=12vqC89W4GPyhGrp1c7xCGSKpv+UI711veQLbgWGXgg=; b=Q6r/AGp5HIIK8AKfvh48wjQI1p/vmTLgI9iPg0DtQ3DUaxHXFOVG7pDwwFE1do19wY Opuyff5hcNk08ZtM84lSa5lwIE4JSVOQ+8Ru3j61+ZsW/aanwSWMv5BlFMJjML1oJ/A4 Y8iYfQnytN5GdGn38Vs899wj+2TSrXAsuxzAXb59/XQefc06X3Atwsz0JhpxMN/vDeOi MHjOI1ebVAB5piYWeMsQzWAfoGXkCddkdfwRhD3s4tzTddnNZFNjq1BdM6XvMYNcHo8s 48Gzne39BDxnhwYbNg77fYBsLFBgGllzOVcN+lVnkvChc1hWwRGE75kxx2ZBrvHil+Gx wEqQ== X-Gm-Message-State: AJaThX7QboituaH30R43g5N6XL6hNpqu0PIqHXB4T2/2zdcCar2aSwcb ZJgUv1VpwfMQAs3qU3dmOeyzgA== X-Received: by 10.223.195.203 with SMTP id d11mr27663173wrg.39.1511540437907; Fri, 24 Nov 2017 08:20:37 -0800 (PST) Received: from e108454-lin.cambridge.arm.com ([2001:41d0:1:6c23::1]) by smtp.gmail.com with ESMTPSA id k30sm38803840wrf.63.2017.11.24.08.20.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Nov 2017 08:20:37 -0800 (PST) From: Julien Grall To: star.zeng@intel.com, eric.dong@intel.com, pankaj.bansal@nxp.com, lersek@redhat.com, leif.lindholm@linaro.org Date: Fri, 24 Nov 2017 16:20:30 +0000 Message-Id: <20171124162030.31156-4-julien.grall@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171124162030.31156-1-julien.grall@linaro.org> References: <20171124162030.31156-1-julien.grall@linaro.org> Subject: [edk2] [PATCH v2 3/3] MdeModulePkg/SerialDxe: Do not fail reset when SetAttributes is not supported X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: edk2-devel@lists.01.org MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" 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 --- MdeModulePkg/Universal/SerialDxe/SerialIo.c | 9 +++++++++ 1 file changed, 9 insertions(+) -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel Signed-off-by: Julien Grall 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; }